mirror of
https://github.com/XProger/OpenLara.git
synced 2025-08-17 10:30:47 +02:00
hardware and software PCF should be the same
This commit is contained in:
@@ -306,10 +306,16 @@ uniform vec4 uFogParams;
|
|||||||
p.xy = p.xy * vec2(0.25, 0.5) + tileOffset;
|
p.xy = p.xy * vec2(0.25, 0.5) + tileOffset;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
float rShadow =(SHADOW(SHADOW_TEXEL * vec3(-0.5, -0.5, 0.0) + p) +
|
#ifdef SHADOW_SAMPLER
|
||||||
SHADOW(SHADOW_TEXEL * vec3( 0.5, -0.5, 0.0) + p) +
|
float rShadow = SHADOW(p);
|
||||||
SHADOW(SHADOW_TEXEL * vec3(-0.5, 0.5, 0.0) + p) +
|
#else
|
||||||
SHADOW(SHADOW_TEXEL * vec3( 0.5, 0.5, 0.0) + p)) * 0.25;
|
vec4 samples = vec4(SHADOW(SHADOW_TEXEL * vec3(0.0, 0.0, 0.0) + p),
|
||||||
|
SHADOW(SHADOW_TEXEL * vec3(1.0, 0.0, 0.0) + p),
|
||||||
|
SHADOW(SHADOW_TEXEL * vec3(0.0, 1.0, 0.0) + p),
|
||||||
|
SHADOW(SHADOW_TEXEL * vec3(1.0, 1.0, 0.0) + p));
|
||||||
|
vec2 f = fract(p.xy / SHADOW_TEXEL.xy);
|
||||||
|
float rShadow = mix(mix(samples.x, samples.y, f.x), mix(samples.z, samples.w, f.x), f.y);
|
||||||
|
#endif
|
||||||
|
|
||||||
float fade = clamp(dot(lightVec, lightVec), 0.0, 1.0);
|
float fade = clamp(dot(lightVec, lightVec), 0.0, 1.0);
|
||||||
return rShadow + (1.0 - rShadow) * fade;
|
return rShadow + (1.0 - rShadow) * fade;
|
||||||
|
Reference in New Issue
Block a user