在GLSL中检索FBO数据

时间:2010-06-06 16:26:55

标签: opengl glsl fbo

我正在尝试让MRT在OpenGL中工作以尝试延迟渲染。这是我理解的情况。

  1. 创建3个渲染缓冲区(例如)。两个RGBA8和一个Depth32。
  2. 创建一个FBO。
  3. 将渲染缓冲区附加到FBO。 ColorAttachment0 / 1用于颜色缓冲区,DepthAttachment用于深度缓冲区。
  4. 绑定FBO。
  5. 绘制几何体。
  6. 使用frag shader中的gl_FragData[]将数据发送到不同的附件。
  7. 此时我想使用GLSL在另一个传递中获取数据,a)如何从帧缓冲区颜色附件中检索数据,b)从深度组件中获取数据。

1 个答案:

答案 0 :(得分:2)

您使用什么作为FBO附件? Renderbuffers?纹理?

您应该使用纹理作为颜色附件(和深度附件),这样您就可以在下一遍中阅读它们。使用渲染缓冲区无法做到这一点。