diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2018-07-20 23:43:30 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2018-07-20 23:43:30 +0300 |
commit | a1689fb091a9e57336d2ac9a013a44d804cd29ea (patch) | |
tree | 8e26c24c3c80e3594abc89c94e7b881db453872a /source/blender/draw/engines/eevee/eevee_screen_raytrace.c | |
parent | 3005c2e2be3d0711649e4dd10697fc43ca88f50f (diff) |
Eevee: Fix wrong SSR reprojection when switching orthographic view
We just reset the temporal sampling and avoid using the previous frame
for SSR at all.
Diffstat (limited to 'source/blender/draw/engines/eevee/eevee_screen_raytrace.c')
-rw-r--r-- | source/blender/draw/engines/eevee/eevee_screen_raytrace.c | 8 |
1 files changed, 8 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 204b730f8da..b882db174b0 100644 --- a/source/blender/draw/engines/eevee/eevee_screen_raytrace.c +++ b/source/blender/draw/engines/eevee/eevee_screen_raytrace.c @@ -132,6 +132,14 @@ int EEVEE_screen_raytrace_init(EEVEE_ViewLayerData *sldata, EEVEE_Data *vedata) }); } + const bool is_persp = DRW_viewport_is_persp_get(); + if (effects->ssr_was_persp != is_persp) { + effects->ssr_was_persp = is_persp; + DRW_viewport_request_redraw(); + EEVEE_temporal_sampling_reset(vedata); + stl->g_data->valid_double_buffer = false; + } + 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; |