【发布时间】:2021-04-18 00:00:27
【问题描述】:
在尝试使用 OpenGL 渲染立方体时,我注意到我稍后在位置数组中定义的顶点呈现在之前定义的顶点之上:
在图像中很难看到,但如果仔细观察,您会发现立方体的背面呈现在最靠近相机的面之上。当我将相机移动到立方体的另一侧时,它会正常显示。
我是否需要检查我的片段着色器以查看面部相对于相机是否在其他人的后面,如果是,我该如何实现?
【问题讨论】:
-
很可能是你没有激活Depth Test。
在尝试使用 OpenGL 渲染立方体时,我注意到我稍后在位置数组中定义的顶点呈现在之前定义的顶点之上:
在图像中很难看到,但如果仔细观察,您会发现立方体的背面呈现在最靠近相机的面之上。当我将相机移动到立方体的另一侧时,它会正常显示。
我是否需要检查我的片段着色器以查看面部相对于相机是否在其他人的后面,如果是,我该如何实现?
【问题讨论】:
起初我尝试启用深度测试(我不知道默认情况下它是关闭的)但后来没有渲染。问题是没有使用 glClear(GL_DEPTH_BUFFER_BIT) 清除每一帧的深度缓冲区。
问题解决了!
【讨论】: