在OpenGL中,我显示了一个简单的模型.当我启用深度缓冲区时,
glEnable(GL_CULL_FACE);
glEnable(GL_DEPTH_TEST);
glDepthMask(GL_TRUE);
Run Code Online (Sandbox Code Playgroud)
一切都消失了.我读过这个 OpenGL常见问题解答,但它对我没有帮助.
我的角度设置为:angle=45deg
,near=1
,far=40
,我把模型中(0,0,0)
,我把我的眼睛的(0,0,4)
.没有Z缓冲区,我可以看到模型.
可能有什么不对?
dat*_*olf 50
你确定清除了深度缓冲区吗?
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
^^^^^^^^^^^^^^^^^^^
Run Code Online (Sandbox Code Playgroud)
小智 6
如果其他答案不起作用,请尝试评论中提到的user886079
如果上述方法不起作用,请检查gluPerspective,glFrustum或glOrtho函数中的近平面.如果设置为0,则深度缓冲似乎不起作用.
我几乎尝试了一切,但无法解决重叠问题.我把近值0.0f.我将其更改为0.01f,结果现在是它需要的结果.