顶点缓冲区在较早的顶点之前渲染较晚的顶点

vertex buffer renders later vertexes in front of earlier ones

在尝试使用 OpenGL 渲染立方体时,我注意到我稍后在位置数组中定义的顶点呈现在前面定义的顶点之上:

很难在图像中看到,但如果仔细观察,您可以看到立方体的背面渲染在最靠近相机的表面之上。当我将相机移动到立方体的另一侧时,它显示正常。

我是否需要在我的片段着色器中检查脸部是否相对于相机在其他人的后面,如果是,我该如何实现它?

起初我尝试启用深度测试(我不知道默认情况下它是关闭的)但后来什么都没有呈现。问题不是用 glClear(GL_DEPTH_BUFFER_BIT).

每帧清除深度缓冲区

问题已解决!