我目前正在尝试设置我创建的earlier post中描述的技术。
ShaderPass使用readBuffer
内的纹理来填充tDiffuse制服。
您可以在第49行on github看到此信息。
然后我修改了ShaderPass以包含另一个属性this.exportBuffer
。
this.exportBuffer
填充了第61行中用于呈现的readBuffer
。在renderer.render()
被调用后,该属性被填充。
然后我继续从最后一个ShaderPass中提取exportBuffer.texture
属性。
在我的理论中,导出的exportBuffer.texure
应该将图像保存在最后writeBuffer
内,该图像应该是我第一个EffectComposer上显示的图像。
然而:无论我尝试什么,exportBuffer
内的纹理似乎都保持黑色。
如果我可以提供更多信息或代码以解决此问题,请告知我们。
问候。
答案 0 :(得分:1)
我说这是由于多个webgl画布不能共享相同的上下文的限制(参见http://games.greggman.com/game/webgl-techniques-and-performance)。
我建议您使用相同的渲染器来运行两个EffectComposers。从我看到的,你所要做的就是指出" map"你的" scndMat"在开始渲染第二个EffectComposer之前,右边的输出纹理。