透明着色器通过效果作曲家

时间:2016-07-27 00:48:37

标签: three.js

我尝试渲染场景,然后在其上呈现半透明的后处理效果。我想让它与效果作曲家合作,以便我以后可以轻松使用更多的传球。

我的基本结构是:

COLUMN_SET FOR ALL_SPARSE_COLUMNS

copyPass有renderToScreen = true,transparentPass是我的自定义片段着色器,每个像素的alpha设置为0.5并加载ShaderPass。

我已经为shaderMaterial尝试了混合,depthTest和透明。 还为渲染器尝试了alpha和premultipliedAlpha选项,autoClear off。

我从renderPass得到的场景没有别的,或者我选择任何renderer.clearColor上的transparentPass。不是两者的复合。我需要设置什么来使其工作? 谢谢。

编辑:

这是一个codepen示例: http://codepen.io/Eskel/pen/PzaOWb?editors=0010

我的着色器的代码: http://eskel.cz/js/three79/RGBAShader.js

它显示所有白色(而不是下方的旋转立方体),即使所有像素都是在alpha通道设置为0.5的情况下渲染的。我应该将它与着色器中的tDiffuse渲染目标混合使用,还是有办法让shaderPass透明?

1 个答案:

答案 0 :(得分:0)

这是一个很晚的回应,但也许会对某人有所帮助。

在构造函数ShaderPass中创建内部ShaderMaterial,我们应将此材质的透明度设置为true:

id | field2 ---------------- 1 | f1val