Fixed issue in shadows15.glsllib, edge bilinear filtering was wrong when using tetxureGather

This commit is contained in:
Nehon 2014-06-14 22:05:53 +02:00
parent 4d861ce90d
commit 6d9a7fbcfb

View File

@ -100,14 +100,14 @@ float Shadow_DoBilinear_2x2(in SHADOWMAP tex, in vec4 projCoord){
vec4 gather = SHADOWGATHER(tex, coord); vec4 gather = SHADOWGATHER(tex, coord);
#else #else
vec4 gather = vec4(0.0); vec4 gather = vec4(0.0);
gather.x = SHADOWCOMPAREOFFSET(tex, projCoord, ivec2(0, 0)); gather.x = SHADOWCOMPAREOFFSET(tex, projCoord, ivec2(0, 1));
gather.y = SHADOWCOMPAREOFFSET(tex, projCoord, ivec2(1, 0)); gather.y = SHADOWCOMPAREOFFSET(tex, projCoord, ivec2(1, 1));
gather.z = SHADOWCOMPAREOFFSET(tex, projCoord, ivec2(0, 1)); gather.z = SHADOWCOMPAREOFFSET(tex, projCoord, ivec2(1, 0));
gather.w = SHADOWCOMPAREOFFSET(tex, projCoord, ivec2(1, 1)); gather.w = SHADOWCOMPAREOFFSET(tex, projCoord, ivec2(0, 0));
#endif #endif
vec2 f = fract( projCoord.xy * SHADOWMAP_SIZE ); vec2 f = fract( projCoord.xy * SHADOWMAP_SIZE );
vec2 mx = mix( gather.xz, gather.yw, f.x ); vec2 mx = mix( gather.wx, gather.zy, f.x );
return mix( mx.x, mx.y, f.y ); return mix( mx.x, mx.y, f.y );
} }