我尝试渲染场景,然后在其上呈现半透明的后处理效果。我想让它与效果作曲家合作,以便我以后可以轻松使用更多的传球。
我的基本结构是:
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透明?
答案 0 :(得分:0)
这是一个很晚的回应,但也许会对某人有所帮助。
在构造函数ShaderPass中创建内部ShaderMaterial,我们应将此材质的透明度设置为true:
id | field2
----------------
1 | f1val