我正在使用Ray Wenderlich的教程使用GLKit制作一个简单的OpenGlES 2应用程序,我遇到了一些问题。
我通过将顶点和索引数据添加到现有顶点和索引数据结构来更改示例代码以显示两个立方体。它可以工作,并在屏幕上绘制两个立方体。
问题在于,当新的立方体落后于旧立方体时,它会显示出来。但是,当旧的立方体位于新的立方体后面时,它不会显示出来。
也许我的深度测试搞砸了?
由于我的声誉,我无法发布图片:( 这是源代码的链接: https://www.dropbox.com/s/4xrq3gmnmbcz02m/EthanGillCubeSnap.zip
非常感谢任何帮助!
答案 0 :(得分:8)
在HelloGLKitViewController.m的第279行,我添加了以下行并正确呈现:
view.drawableDepthFormat = GLKViewDrawableDepthFormat24;
您需要确保在GLKView上设置深度缓冲区大小,否则将不会创建缓冲区,这就是之前发生的事情。