Ios OpenGL ES 2-关于深度的noob问题

Ios OpenGL ES 2-关于深度的noob问题,ios,opengl-es-2.0,Ios,Opengl Es 2.0,好吧,我对这个3D数学有点陌生,昨晚获得投影和模型视图矩阵是一个重要的里程碑:] 所以我得到了一个简单的模型,它从这个角度正确地渲染: 但当我绕y轴旋转时,深度有点问题,比如: 这可能看起来很有趣,但不是我目前想要的。基本上,这些墙的深度混淆了 有人能告诉我如何解决这个问题的必要步骤吗?我需要一个深度缓冲什么的。。。对吗?您应该通过调用 glEnable(GL_DEPTH_TEST); 当然,不要忘记通过调用以下命令清除缓冲区: glClear( GL_DEPTH_BUFFER_BIT |

好吧,我对这个3D数学有点陌生,昨晚获得投影和模型视图矩阵是一个重要的里程碑:]

所以我得到了一个简单的模型,它从这个角度正确地渲染:

但当我绕y轴旋转时,深度有点问题,比如:

这可能看起来很有趣,但不是我目前想要的。基本上,这些墙的深度混淆了


有人能告诉我如何解决这个问题的必要步骤吗?我需要一个深度缓冲什么的。。。对吗?

您应该通过调用

glEnable(GL_DEPTH_TEST);
当然,不要忘记通过调用以下命令清除缓冲区:

glClear( GL_DEPTH_BUFFER_BIT | GL_COLOR_BUFFER_BIT);

我希望这会有所帮助;)

是的,我正在这样做,它确实从物体的一侧做了一个适当的深度测试,但从另一侧混合了它。我猜我的modelView/投影设置有问题。它可能在旋转物体之前做深度测试,或者做其他什么。。。。我回家后会发布一些代码。在最开始的时候,你必须启用深度测试并在绘制任何东西之前清除缓冲区。再仔细检查你画的立方体是否正确,我正在做。我确信我画的立方体是正确的。背面剔除工程。。我确定问题出在投影矩阵的东西上……啊,很好。你关于在画之前做深度测试的评论对我的问题有帮助。有趣的是,这是一个Android问题