繁体   English   中英

OpenGLES 2.0帧缓冲可以同时绑定到纹理和渲染缓冲区吗?

[英]Can an OpenGLES 2.0 framebuffer be bound to a texture and a renderbuffer at the same time?

Brad Larson 在这里这里提供了一些很棒的代码,用于“将场景渲染成纹理支持的帧缓冲区”,但目前尚不清楚这是否与我用于绘图的其余部分的帧缓冲区相同。

如果将渲染缓冲区附加到帧缓冲区,帧缓冲区是否也可以渲染为具有相同调用的纹理?

听起来你可能会对FBO的使用感到困惑。 如果你需要它,这应该让你开始: Apple Developer - 在屏幕外绘图 也有帮助。

Renderbuffer是你可以绑定到FBO(帧缓冲对象)的东西。 当您不希望立即显示渲染但想要读取渲染结果或对其执行其他渲染时,FBO是您创建的。 FBO在OpenGL ES 2.0中的工作方式,您只有一个颜色附加点可用(GL_COLOR_ATTACHMENT0 - 您的片段着色器输出变量gl_FragColor连接到此附着点),并且它只能附加一个纹理或渲染缓冲区。 所以要回答最后一个问题,你不能让FBO同时将颜色写入渲染缓冲区和纹理。

至于问题的第一部分,这取决于您是否已经在使用FBO或默认帧缓冲。 你正在寻找的行为有可能是这样的:

  1. 绑定一个FBO
  2. 将某些内容渲染到附加到FBO的纹理
  3. 绑定默认的帧缓冲区
  4. 使用步骤2中的纹理来影响第二个renderpass中的渲染。

希望这能回答你的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM