透明纹理的网格排序问题(使用alpha通道)

时间:2015-10-27 11:43:29

标签: javascript three.js glsl webgl shader

我们正试图在three.js中渲染网状毛发。

不允许对象排序的常见问题,因为头发的数量很多,我们将相机绕过头部。对象顺序不断变化。

我们使用以下基于深度的权重函数实施了加权,混合顺序无关透明度,如不同的论文所示:

casual-effects.blogspot.in/2014/03/weighted-blended-order-independent.html

重叠两个透明平面: http://s3-ap-southeast-1.amazonaws.com/kashvi/oit_2.html

基于深度的权重函数:

pow( a, 1.0 ) * clamp( 10.0 / ( 1e-5 + pow( abs( z2 ) / 5.0, 1.0 ) + pow( abs( z2 ) / 200.0, 1.0 ) ), 1e-2, 3e3 );

Alpha频道:

float ai = color.a;
vec3 Ci = color.rgb * ai;
gl_FragColor = vec4( Ci, ai ) * w( ai );

[improper overlapping hairs]

您是否有可能引导我获得适当的重量功能的某些资源?

0 个答案:

没有答案