Linearization of depth buffer. Didn't change graphics in any way.

This commit is contained in:
Faerbit 2015-01-19 00:40:28 +01:00
parent d26722595e
commit 955eee5a60

View File

@ -51,11 +51,12 @@ vec2 poissonDisk[16] = vec2[](
);
float sampleDirectionalShadow(sampler2DShadow shadowMap, vec4 shadowCoord) {
float nearPlane = 0.1;
float visibility = 1.0;
float bias = 0.001*tan(acos(clamp(dot(vNormal, -directionalLightVector), 0.0, 1.0)));
bias = clamp(bias, 0.0, 0.01);
for (int i=0; i<4; i++) {
visibility -= directionalIntensity/16*(1.0-texture(shadowMap, vec3(shadowCoord.xy + poissonDisk[i]/700.0, (shadowCoord.z - bias)/shadowCoord.w)));
/*for (int i=0; i<4; i++) {
visibility -= directionalIntensity/16*(1.0-texture(shadowMap, vec3(shadowCoord.xy + poissonDisk[i]/700.0, (2.0 * nearPlane)/(farPlane+ nearPlane - shadowCoord.z * (farPlane - nearPlane))- bias)));
}
if (visibility == 1.0-(directionalIntensity/16)*4)
{
@ -63,10 +64,11 @@ float sampleDirectionalShadow(sampler2DShadow shadowMap, vec4 shadowCoord) {
}
else if (visibility != 1.0) {
for (int i=0; i<12; i++) {
visibility -= directionalIntensity/16*(1.0-texture(shadowMap, vec3(shadowCoord.xy + poissonDisk[i]/700.0, (shadowCoord.z - bias)/shadowCoord.w)));
visibility -= directionalIntensity/16*(1.0-texture(shadowMap, vec3(shadowCoord.xy + poissonDisk[i]/700.0, (2.0 * nearPlane)/(farPlane+ nearPlane - shadowCoord.z * (farPlane - nearPlane))- bias)));
}
}
return visibility;
}*/
visibility = texture(shadowMap, vec3(shadowCoord.xy, (shadowCoord.z - bias)/shadowCoord.w));
return (2.0 * nearPlane) / (farPlane + nearPlane - visibility * (farPlane - nearPlane));
}
float samplePointShadow(samplerCubeShadow shadowMap, vec3 lightDirection) {