苹果官方LayerBackedOpenGLView示例项目在新版SDK下的贴图问题

本来这个示例展示的应该是一个带贴图的地球,但是在我4.5.2 (4G2008a)的XCode下编译运行(10.8 OSX SDK),效果成了这样:

QQ20121212-1

很明显这是贴图的问题,导致这个问题的原因是由于例子里用到了一个新版SDK里已经deprecated函数:NSImage的bestRepresentationForDevice:,虽然按道理即使是废用了,为了保持兼容也不应该影响功能…

代替的方法如下:

Scene.m:66

// NSImageRep *imageRep = [textureImage bestRepresentationForDevice:nil];

NSImageRep *imageRep = [NSBitmapImageRep imageRepWithData:[textureImage TIFFRepresentation]];

再次运行,贴图正常:
QQ20121212-2

博主友情提示:

如您在评论中需要提及如QQ号、电子邮件地址或其他隐私敏感信息,欢迎使用>>博主专用加密工具v3<<处理后发布,原文只有博主可以看到。