2

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

  1. 创建 3 个渲染缓冲区(例如)。两个 RGBA8 和一个 Depth32。
  2. 创建一个 FBO。
  3. 将渲染缓冲区附加到 FBO。ColorAttachment0/1 用于颜色缓冲区,DepthAttachment 用于深度缓冲区。
  4. 绑定FBO。
  5. 绘制几何图形。
  6. gl_FragData[]使用片段着色器将数据发送到不同的附件。

在这一点上,我想使用 GLSL 在另一遍中获取数据,a) 如何从帧缓冲区颜色附件中检索数据,b) 从深度组件中获取数据。

4

1 回答 1

2

您使用什么作为 FBO 附件?渲染缓冲区?纹理?

您应该使用纹理作为颜色附件(和深度附件),以便您可以在下一轮中阅读它们。没有办法对渲染缓冲区做同样的事情。

于 2010-06-06T21:52:18.353 回答