2014-12-04 2 views

답변

1

기본값을 낮게 설정 한 채도 테스트가 활성화되어 있습니다 (더 가까운 픽셀 만 그려집니다).

배경을 원한다면 첫 번째 패스 중에 깊이 쓰기를 비활성화하십시오.

void GLViewer::paintGL() 
{ 
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); 
    glDepthMask(GL_FALSE); 
    glDisable(GL_DEPTH_TEST); 

    m_backgroundShader.bind(); 
    glBindVertexArray(m_backgroundVAO); 
    glActiveTexture(GL_TEXTURE0); 
    glBindTexture(GL_TEXTURE_2D, m_textureID); 
    glUniform1i(glGetUniformLocation(m_backgroundShader.programId(),"tex"),0); 
    glDrawArrays(GL_TRIANGLE_STRIP,0,4); 

    glDepthMask(GL_TRUE); 
    glEnable(GL_DEPTH_TEST); 
    m_triangleShader.bind(); 
    glBindVertexArray(m_VAO); 
    glDrawArrays(GL_TRIANGLES, 0, 3); 

    update(); 
} 
관련 문제