Brad Larson提供了一些很棒的代码here和here,用于“将场景渲染为纹理支持的帧缓冲区”,但目前尚不清楚这是否与我用于其余部分的帧缓冲区相同绘图。
如果将渲染缓冲区附加到帧缓冲区,帧缓冲区是否也可以渲染为具有相同调用的纹理?
答案 0 :(得分:3)
听起来你可能会对FBO的使用感到困惑。如果您需要它,这应该让您入门:Apple Developer - Drawing offscreen。 This也可以提供帮助。
Renderbuffer是你可以绑定到FBO(帧缓冲对象)的东西。当您不希望立即显示渲染但想要读取渲染结果或对其执行其他渲染时,FBO是您创建的。 FBO在OpenGL ES 2.0中的工作方式,您只有一个颜色附加点可用(GL_COLOR_ATTACHMENT0 - 您的片段着色器输出变量gl_FragColor连接到此附着点),并且它只能附加一个纹理或渲染缓冲区。所以要回答最后一个问题,你不能让FBO同时将颜色写入渲染缓冲区和纹理。
至于问题的第一部分,这取决于您是否已经在使用FBO或默认帧缓冲。你正在寻找的行为有可能是这样的:
希望这能回答你的问题。