OpenGL-Depthtest
1. 深度测试
深度测试被启用时,将该片段的深度值与深度缓冲中的深度值比较,如果测试通过则更新缓冲中的深度值。深度测试在片段着色器运行后,模板测试之后进行。并且仅对屏幕空间中的片段进行深度测试。
片段着色器里gl_FragCoord中的x和y分量代表片段在屏幕中的坐标,z分量就是与深度缓冲值对比的深度值。
深度测试在OpengGL中默认是禁用的,因此需要手动启用它
glEnable(GL_DEPTH_TEST);
片段的深度值没有通过测试的话,这个片段会被丢弃,因此我们需要清除深度缓冲。(顺便清除颜色缓冲)
glClear(GL_COLOR_BUFFER_B