diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2021-04-20 11:59:07 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2021-04-20 11:59:07 +0300 |
commit | 27cfc1ea11461ca1257657afafb455be0da75cb1 (patch) | |
tree | 9a641bfce6ac6cd751ef1848abf3637837953456 /source/blender/draw/engines/eevee/eevee_occlusion.c | |
parent | db0b1cab1f8c2798d5f088b98f4055987a19796e (diff) |
Fix T87541 EEVEE: AO causes black outline around objects and NaN pixels
It seems the pow result is unstable on some implementations.
Also avoid undefined behavior by clamping aoFactor to strict positive values.
Diffstat (limited to 'source/blender/draw/engines/eevee/eevee_occlusion.c')
-rw-r--r-- | source/blender/draw/engines/eevee/eevee_occlusion.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/source/blender/draw/engines/eevee/eevee_occlusion.c b/source/blender/draw/engines/eevee/eevee_occlusion.c index 3f198063c47..19f34fa6108 100644 --- a/source/blender/draw/engines/eevee/eevee_occlusion.c +++ b/source/blender/draw/engines/eevee/eevee_occlusion.c @@ -61,7 +61,7 @@ int EEVEE_occlusion_init(EEVEE_ViewLayerData *sldata, EEVEE_Data *vedata) const int fs_size[2] = {(int)viewport_size[0], (int)viewport_size[1]}; common_data->ao_dist = scene_eval->eevee.gtao_distance; - common_data->ao_factor = scene_eval->eevee.gtao_factor; + common_data->ao_factor = max_ff(1e-4f, scene_eval->eevee.gtao_factor); common_data->ao_quality = scene_eval->eevee.gtao_quality; if (scene_eval->eevee.flag & SCE_EEVEE_GTAO_ENABLED) { |