ios – 从GLKView / GLKit获取默认帧缓冲区ID

前端之家收集整理的这篇文章主要介绍了ios – 从GLKView / GLKit获取默认帧缓冲区ID前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在我的 IOS OpenGL ES 2.0项目中使用GLkit / GLKView来管理我的应用程序的默认FBO /生命周期.

在桌面OpenGL中,为了绑定默认的FBO(前端缓冲区),我可以调用glBindFrameBuffer(GL_FRAMEBUFFER,0),但是在iOS应用程序中并不是这样,因为你必须自己创建默认的FBO,它将具有唯一的ID;

问题是GLKit / GLKView编码风格强迫我使用GLKView的“bindDrawable”函数来激活默认的FBO,使我的跨平台渲染系统的设计有点丑陋(必须在我的c引擎类和桥中存储GLKView指针为void *每次我想执行默认的FBO绑定时,都会转换它)

有没有办法获取GLKit / GLKView创建的默认FBO ID,以便我可以存储和使用它来绑定我的代码中的任何位置的默认帧缓冲区?

最糟糕的是,我可以恢复自己创建默认的FBO并解析GLKit / GLKView,但它是一个很好的框架,我想继续使用它.

对不起,我的英文不好,提前感谢任何答复.

解决方法

也许你可以在你的bindDrawable调用之后得到“current”framebuffer ID,通过调用如下命令:
GLint defaultFBO;
glGetIntegerv(GL_FRAMEBUFFER_BINDING_OES,&defaultFBO);

猜你在找的iOS相关文章