diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2021-03-14 17:10:18 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2021-03-14 19:19:39 +0300 |
commit | 8936550269333297f6c083c92c90f11660b22e33 (patch) | |
tree | 194aaf2538ee127abdab42714b1a830a2a04b660 /source/blender/gpu | |
parent | 448cb5d55b119d8030cfef078952fdca373bb3e8 (diff) |
EEVEE: Specular Occlusion: Avoid overdarkening on smooth surfaces
Accumulate error caused by the low amount of integration slices and
correct it for the low roughness surfaces.
This increases light leak but it is less distracting than dark fringe
everywhere.
Diffstat (limited to 'source/blender/gpu')
-rw-r--r-- | source/blender/gpu/shaders/material/gpu_shader_material_ambient_occlusion.glsl | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/source/blender/gpu/shaders/material/gpu_shader_material_ambient_occlusion.glsl b/source/blender/gpu/shaders/material/gpu_shader_material_ambient_occlusion.glsl index edf2c93c9a0..12921a31b23 100644 --- a/source/blender/gpu/shaders/material/gpu_shader_material_ambient_occlusion.glsl +++ b/source/blender/gpu/shaders/material/gpu_shader_material_ambient_occlusion.glsl @@ -15,8 +15,9 @@ void node_ambient_occlusion(vec4 color, vec3 N = normalize(normal); vec3 Ng = safe_normalize(cross(dFdx(worldPosition), dFdy(worldPosition))); + float unused_error; vec3 unused; - occlusion_eval(data, V, N, Ng, inverted, result_ao, unused); + occlusion_eval(data, V, N, Ng, inverted, result_ao, unused_error, unused); result_color = result_ao * color; } #else |