我为 iOS7 和 GLKit 编写了以下代码,但自从升级到 iOS 8 SDK 后就无法正常工作了:
glBindFramebuffer(GL_DRAW_FRAMEBUFFER_APPLE, _resolveFrameBuffer);
glBindFramebuffer(GL_READ_FRAMEBUFFER_APPLE, _multisamplingFrameBuffer);
编译器无法找到 GL_DRAW_FRAMEBUFFER_APPLE
和 GL_READ_FRAMEBUFFER_APPLE
常量。
我认为这与 OpenGL ES 3.0 有关 - 有没有办法使用我的 OpenGL ES 2.0 代码,它在 iOS 7 上工作得很好?如果没有,关于如何在 iOS 7 上迁移针对 GLKit 编写的代码的任何提示?
最佳答案
您需要包含定义这些值的头文件。在 C/C++ 中:
#include <OpenGLES/ES2/glext.h>
在 objective-c 中:
#import <OpenGLES/ES2/glext.h>
似乎某些 OpenGL header 被 iOS 7 中的其他常用 header 间接包含,但在 iOS 8 中不再存在。您总是应该包含这些 header ,只是碰巧以前没有。
关于ios - iOS 8 SDK 中的 GL_DRAW_FRAMEBUFFER_APPLE 和 GL_READ_FRAMEBUFFER_APPLE 在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26064788/