Всем привет. При создании VSM теней появляется вот этот артефакт:
Вот glsl код:
vec4 u=CameraMatShadow[*absolutePosition;vec3 uu=u.xyz/u.w; uu=uu*0.5+0.5; vec4 m=texture2D(shadowMap,uu.xy); float p = smoothstep(uu.z-0.03, uu.z, m.x); float variance = max(m.y - m.x*m.x, -0.002); float d = uu.z - m.x; float p_max = linstep(0.2, 1.0, variance / (variance + d*d)); shad=clamp(max(p, p_max), 0.0, 1.0);
Как исправить этот артефакт?
mazahist
Это проблема не конкретно VSM.
Для лечения загугли "normal offset shadows"
mazahist
N.L добавить
Тема в архиве.