【发布时间】:2014-05-05 10:10:21
【问题描述】:
我正在尝试使用 THREE.js 实现路径跟踪器。我基本上是在渲染一个全屏四边形,路径跟踪发生在像素着色器中。
我想要更高的采样率,一种方法是为每个像素采样一条路径并累积生成的图像。 (即平均每个着色器通道获得的图像)
因为它是我能够生成我需要的图像,但我不知道如何积累它们。我的猜测是我必须使用两个渲染目标;一个包含“最新”的采样图像,一个包含迄今为止显示的所有图像的平均值。
我只是不知道如何从 WebGLRenderTarget 获取数据并使用它来操作包含在另一个渲染目标中的数据。 Three.js 甚至可以做到这一点吗?我一直在研究 FrameBuffer 对象,这似乎是一条有希望的道路,我正在梳理 MrDoob 的 FBO 示例 (http://www.mrdoob.com/lab/javascript/webgl/particles/particles_zz85.html),它看起来很有希望,但我不确定我是否走在正确的道路上。
【问题讨论】:
-
见threejs.org/examples/webgl_gpgpu_birds.html。它显示了两个渲染目标之间的乒乓示例。
标签: javascript opengl-es three.js webgl