2014-12-04 114 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(); 
} 
相關問題