EffectComposer - 访问Composer创建的图像

时间:2016-12-21 20:57:27

标签: javascript three.js

我对EffectComposer有疑问/问题。

我想做的事情: 我尝试在多个EffectComposers之间拆分我的App中使用的所有后处理。 我希望能够计算,例如 EffectComposer1 中的5个着色器,然后拍摄该合成器创建的图像,并将其传递回 EffectComposer2 。 EffectComposer1中使用的几何体和纹理都适合(在像素大小方面)在 EffectComposer2 中用作制服。

AFAIK,如果没有效果设置为renderToScreen = true;,EffectComposers的write / readBuffer应该保存将被渲染到屏幕的纹理。

如果需要更多信息才能解决此问题,请告知我们。

此致 迈克尔

使用three.js r82

1 个答案:

答案 0 :(得分:0)

Aaaaaa我们已经完成了!

经过测试并最终在github上创建另一个问题后,我能够解决这个问题。

我现在坚持这个,因为它就像一个绝对的魅力。

这是我用来创建纹理的代码:

var firstOutput = document.getElementById("CanvasOne"); //Get the filled canvas;
var tmpTxt = new THREE.CanvasTexture(firstOutput); //Create the texture;

//Set both min- and magFilter to the correct filtering;
tmpTxt.magFilter = THREE.LinearFilter;
tmpTxt.minFilter = THREE.LinearFilter;
tmpTxt.generateMipmaps = false; //Set this to resolve the image dstortion;

之后,我可以使用tmpTxt作为制服。