Merge pull request #51927 from 20kdc/issue-51897-sp1

Fix issue #51897 (horizon occlusion causing black blob), fix ver. SP1
This commit is contained in:
Rémi Verschelde 2021-09-13 11:44:55 +02:00 committed by GitHub
commit 600f2a8d5d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 2 additions and 2 deletions

View file

@ -1688,12 +1688,12 @@ FRAGMENT_SHADER_CODE
#ifdef USE_RADIANCE_MAP
vec3 ref_vec = reflect(-eye_position, N);
float horizon = min(1.0 + dot(ref_vec, normal), 1.0);
ref_vec = normalize((radiance_inverse_xform * vec4(ref_vec, 0.0)).xyz);
ref_vec.z *= -1.0;
specular_light = textureCubeLod(radiance_map, ref_vec, roughness * RADIANCE_MAX_LOD).xyz * bg_energy;
float horizon = min(1.0 + dot(ref_vec, normal), 1.0);
specular_light *= horizon * horizon;
#ifndef USE_LIGHTMAP
{

View file

@ -1884,10 +1884,10 @@ FRAGMENT_SHADER_CODE
{ //read radiance from dual paraboloid
vec3 ref_vec = reflect(-eye_vec, normal);
float horizon = min(1.0 + dot(ref_vec, normal), 1.0);
ref_vec = normalize((radiance_inverse_xform * vec4(ref_vec, 0.0)).xyz);
vec3 radiance = textureDualParaboloid(radiance_map, ref_vec, roughness) * bg_energy;
env_reflection_light = radiance;
float horizon = min(1.0 + dot(ref_vec, normal), 1.0);
env_reflection_light *= horizon * horizon;
}
}