glEnable(GL_DEPTH_TEST) - nothing rendered
在OpenGL中,我显示一个简单的模型。启用深度缓冲区时,
1 2 3 | glEnable(GL_CULL_FACE); glEnable(GL_DEPTH_TEST); glDepthMask(GL_TRUE); |
一切都消失了。我阅读了此OpenGL常见问题解答,但对我没有帮助。
我的透视图设置是:
怎么了?
确定要清除深度缓冲区吗?
1 2 | glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); ^^^^^^^^^^^^^^^^^^^ |
如果其他答案不起作用,请尝试在注释中提到的user886079
If the above doesn't work, check your near plane in the gluPerspective, glFrustum, or glOrtho function. Depth buffering doesn't seem to work if it is set to 0.
我几乎尝试了所有方法,但无法解决重叠的问题。我把接近值设为0.0f。我将其更改为0.01f,现在的结果就是所需的结果。
如果以上回答无效,请尝试以下操作:
-
如果启用了
GL_CULL_FACE ,请检查模型顶点的缠绕顺序。(LH) 与(RH) 。 -
如果启用了
GL_DEPTH_TEST ;然后对照模型视图投影矩阵以及相机的位置检查平截平面