C++ 顶点缓冲区在早期顶点之前渲染后期顶点

C++ 顶点缓冲区在早期顶点之前渲染后期顶点,c++,opengl,rendering,C++,Opengl,Rendering,在尝试使用OpenGL渲染立方体时,我注意到我稍后在位置数组中定义的顶点是在前面定义的顶点之上渲染的: 很难在图像中看到,但如果仔细观察,可以看到立方体的背面在距离摄影机最近的面上进行渲染。当我将相机移到立方体的另一侧时,它会正常显示 我是否需要在片段着色器中进行检查,以查看相对于摄影机的面是否在其他面之后,如果是,我如何实现它?起初,我尝试启用深度测试(我不知道默认情况下它处于关闭状态),但没有渲染任何内容。问题是没有使用glClear(GL_depth_buffer_位)在每一帧清除深度缓

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

很难在图像中看到,但如果仔细观察,可以看到立方体的背面在距离摄影机最近的面上进行渲染。当我将相机移到立方体的另一侧时,它会正常显示


我是否需要在片段着色器中进行检查,以查看相对于摄影机的面是否在其他面之后,如果是,我如何实现它?

起初,我尝试启用深度测试(我不知道默认情况下它处于关闭状态),但没有渲染任何内容。问题是没有使用glClear(GL_depth_buffer_位)在每一帧清除深度缓冲区


问题解决了

很有可能您尚未激活。