我在我的
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);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。