diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2019-07-09 15:34:38 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2019-07-09 15:34:56 +0300 |
commit | 484794ce6747068f898273328138fb96c263feac (patch) | |
tree | 79da5e123e2cab9f9f561f51ede297b795b5b00a /source/blender/draw/engines/eevee/eevee_screen_raytrace.c | |
parent | 986ff461fb7ff361f5fb1e5aab49e4f8892258e0 (diff) |
Eevee: Fix first sample being accumulated without SSR
We check if the previous iteration (sample) was using a valid double buffer.
If it wasn't, we request another iteration.
This fix the issue for viewport,viewport render and image render.
Related to T65761 Eevee render inconsistency between 3D View, Viewport render, and F12 Render
Diffstat (limited to 'source/blender/draw/engines/eevee/eevee_screen_raytrace.c')
-rw-r--r-- | source/blender/draw/engines/eevee/eevee_screen_raytrace.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/source/blender/draw/engines/eevee/eevee_screen_raytrace.c b/source/blender/draw/engines/eevee/eevee_screen_raytrace.c index 7b80daf8ed6..7b470f9c42a 100644 --- a/source/blender/draw/engines/eevee/eevee_screen_raytrace.c +++ b/source/blender/draw/engines/eevee/eevee_screen_raytrace.c @@ -135,6 +135,12 @@ int EEVEE_screen_raytrace_init(EEVEE_ViewLayerData *sldata, EEVEE_Data *vedata) stl->g_data->valid_double_buffer = false; } + if (!effects->ssr_was_valid_double_buffer) { + DRW_viewport_request_redraw(); + EEVEE_temporal_sampling_reset(vedata); + } + effects->ssr_was_valid_double_buffer = stl->g_data->valid_double_buffer; + effects->reflection_trace_full = (scene_eval->eevee.flag & SCE_EEVEE_SSR_HALF_RESOLUTION) == 0; common_data->ssr_thickness = scene_eval->eevee.ssr_thickness; common_data->ssr_border_fac = scene_eval->eevee.ssr_border_fade; |