OStack程序员社区-中国程序员成长平台

标题: iphone - 由于 glGetString 导致应用程序崩溃 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 17:06
标题: iphone - 由于 glGetString 导致应用程序崩溃

我正在运行 cocos2d-iphone 1.0.0 并关注 this使用 cocos2d 和 ARC 的教程。不幸的是,每当我尝试将 TMX 平铺 map 添加到 CCLayer 时,都会收到“SIGABRT”崩溃错误。我已经将此问题追溯到 -(BOOL)checkForGLExtensionNSString *)searchName,甚至在此函数中进一步追溯到 NSString *extensionsString = [NSString stringWithCString:glExtensions encoding: NSASCIIStringEncoding ];

这里是 checkForGLExtension 函数:

- (BOOL) checkForGLExtensionNSString *)searchName {
// For best results, extensionsNames should be stored in your renderer so that it does not
// need to be recreated on each invocation.
NSLog(@"%@", glExtensions);
NSString *extensionsString = [NSString stringWithCString:glExtensions encoding: NSASCIIStringEncoding];
NSLog(@"%@", extensionsString);
NSArray *extensionsNames = [extensionsString componentsSeparatedByString" "]; }

NSString *extensionsString = [NSString stringWithCString:glExtensions encoding: NSASCIIStringEncoding];encoding: 部分可能导致应用程序崩溃。我还在 GL_VENDORGL_VERSIONGL_RENDERER 甚至 glExtensions 的日志中收到 NULL。

回顾 OpenGLES.framework 中的 gl.h 向我展示了这一点:

/* StringName */
#define GL_VENDOR                         0x1F00
#define GL_RENDERER                       0x1F01
#define GL_VERSION                        0x1F02
#define GL_EXTENSIONS                     0x1F03

其中所有的都是NULL。



Best Answer-推荐答案


注意:我对 iOS 开发一无所知

从 glGetString 获取 NULL 通常意味着 OpenGL 上下文未绑定(bind)或创建不正确。你应该检查一下。同时使用 glGetError 检查 GL 错误。

关于iphone - 由于 glGetString 导致应用程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7047622/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4