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 – 从GLKView / GLKit获取默认帧缓冲区ID全部内容,希望文章能够帮你解决ios – 从GLKView / GLKit获取默认帧缓冲区ID所遇到的程序开发问题。

如果觉得来客网网站内容还不错,欢迎将来客网网站推荐给程序员好友。