1

因此,我正在使用本教程进行一些 OpenGL 实验,但我遇到了一个问题,由于某种原因,我的顶点的深度似乎与它们的绘制方式无关。在下面的屏幕截图中,立方体的大小相同,但较大的立方体更靠近屏幕。我相信它应该遮挡较小的立方体,但事实并非如此。我几乎完全按照教程中的代码进行了操作,有什么明显的错误吗?

http://games.ianterrell.com/opengl-basics-with-glkit-in-ios5-encapsulated-drawing-and-animation/

截图 http://dl.dropbox.com/u/2396540/image.png

4

1 回答 1

2

您可能设置了没有深度缓冲区的 GLKView。GLKView 具有drawableDepthFormat控制可绘制对象深度缓冲区的创建和精度的属性。默认值GLKViewDrawableDepthFormatNone适用于 2D 合成。

当您想要绘制 3D 对象时,您应该将其设置为GLKViewDrawableDepthFormat16或者GLKViewDrawableDepthFormat24如果您需要更高的深度精度。

于 2012-07-10T17:39:37.323 回答