Three.JS r71:透明渲染器不适用于后处理滤镜

时间:2015-10-18 03:19:07

标签: javascript three.js rendering webgl

我尝试在当前场景中渲染BloomPass,并从包含页面的正文中显示背景。但是,应用BloomPass时,背景会变黑。

My example is here: http://plnkr.co/edit/0mp0jaGVF6it52HY7aq2?p=preview

我尝试在我的本地版本的plunkr中使用这个相当旧的线程https://github.com/mrdoob/three.js/issues/1080中的建议(例如,在RenderPass中更改ClearAlpha标志),但这些没有任何效果。无论我使用哪种着色器,这种黑色背景也会持续存在(也尝试使用FilmPass和FXAA)

在Yosemite 10.10.5上运行Chrome 45.0.2454.101(64位)

1 个答案:

答案 0 :(得分:1)

如果您计划广泛使用EffectComposer,您可能需要花时间完全理解它。有很多细微之处。

您希望后处理效果透明。

为此,您需要确保Composer使用的渲染目标具有Alpha通道 - 即THREE.RGBAFormat

composer.renderTarget1.format = THREE.RGBAFormat;
composer.renderTarget2.format = THREE.RGBAFormat;
effectBloom.renderTargetX.format = THREE.RGBAFormat;
effectBloom.renderTargetY.format = THREE.RGBAFormat;

three.js r.73