some cocos2d-iphone documentation ,我被告知把这个

// IMPORTANT: Call this function at the very beginning, before running your 1st scene
// Create a depth buffer of 24 bits
// These means that openGL z-order will be taken into account
[[CCDirector sharedDirector] setDepthBufferFormat:kDepthBuffer16];

在我的游戏中允许一些带有 Action 的 3D 效果。但是,由于某种原因,XCode 无法识别 setDepthBufferFormatkDepthBuffer16。有任何想法吗?

最佳答案

不幸的是,cocos2d 文档部分已过时。你说的方法已经不存在了。相反,您必须修改初始化 EAGLView 的应用程序委托(delegate)方法 applicationDidFinishLaunching 中的行。有一个“viewWithFrame”变体,它采用 depthFormat 的额外参数:

// Create an EAGLView with a RGB8 color buffer, and a depth buffer of 24-bits
EAGLView* glView = [EAGLView viewWithFrame:[window bounds]
                               pixelFormat:kCCTexture2DPixelFormat_RGBA8888
                               depthFormat:GL_DEPTH_COMPONENT16_OES
                        preserveBackbuffer:NO
                                sharegroup:nil
                             multiSampling:NO
                           numberOfSamples:0];

关于iphone - 无法设置深度缓冲区?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7828420/

10-10 20:46