旋转场景后Opengl不正确的分层
我有两个四边形,它们构成一个立方体的两面。。两者都具有映射到它们的纹理 起初,分层很好(较近的一侧在较远一侧的“顶部”)。但是,当我旋转场景时,分层会中断,因为现在应该位于后面的层仍然位于顶部旋转场景后Opengl不正确的分层,opengl,Opengl,我有两个四边形,它们构成一个立方体的两面。。两者都具有映射到它们的纹理 起初,分层很好(较近的一侧在较远一侧的“顶部”)。但是,当我旋转场景时,分层会中断,因为现在应该位于后面的层仍然位于顶部 我需要手动清除z缓冲区还是其他什么吗?听起来你好像没有启用深度测试。尝试glEnable(GLU深度测试) 顺便说一句,是的,您确实需要在每个周期通过运行glClear(GL\u DEPTH\u buffer\u BIT)显式清除z缓冲区。如果您没有这样做,那么不会给您带来麻烦的原因也可能是因为您没有使用
我需要手动清除z缓冲区还是其他什么吗?听起来你好像没有启用深度测试。尝试
glEnable(GLU深度测试)
顺便说一句,是的,您确实需要在每个周期通过运行glClear(GL\u DEPTH\u buffer\u BIT)
显式清除z缓冲区。如果您没有这样做,那么不会给您带来麻烦的原因也可能是因为您没有使用深度缓冲区,因为您还没有启用深度测试
(在可能的情况下,您已经在每个周期清除颜色缓冲区,您可以将这两个组合成
clClear(GL\u color\u buffer BIT | GL\u DEPTH\u buffer\u BIT)
)听起来您还没有启用深度测试。尝试glEnable(GLU深度测试)
顺便说一句,是的,您确实需要在每个周期通过运行glClear(GL\u DEPTH\u buffer\u BIT)
显式清除z缓冲区。如果您没有这样做,那么不会给您带来麻烦的原因也可能是因为您没有使用深度缓冲区,因为您还没有启用深度测试
(在可能的情况下,您已经在每个周期清除颜色缓冲区,您可以将这两种情况合并为
clClear(GL\u color\u buffer BIT | GL\u DEPTH\u buffer\u BIT)
)这可能就是问题所在。我只想补充一点,对于凸面对象,这在glEnable(GL\u CULL\u FACE)
和正确的(CCW vs CW)缠绕约定中不是绝对必要的。这可能就是问题所在。我只想补充一点,对于凸面对象,这对于glEnable(GL\u CULL\u FACE)
和正确的(CCW vs CW)缠绕约定来说不是绝对必要的。