Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeroen Bakker <j.bakker@atmind.nl>2019-05-16 12:40:07 +0300
committerJeroen Bakker <j.bakker@atmind.nl>2019-05-16 17:02:56 +0300
commitd93a47b7bbdac3afd8003254c8606a8c43154c80 (patch)
tree160eadbe004dce6bb93079119b6c70fa886a9d1d /source/blender/draw/engines/eevee/eevee_engine.c
parent3b5126038785ef2333627fad07e498d0eb718ac8 (diff)
EEVEE: Viewport Rendering TAA
EEVEE assumed that the OGL renderer did FSAA, as the FSAA was removed we needed to revalidate this assumption. The temporal sampling only inited the matrices during init phase. As now we need to update the matrices for every sample rendered the code for updating the matrices was isolated in a new function `EEVEE_temporal_sampling_update_matrices`. Reviewed By: fclem Maniphest Tasks: T64646 Differential Revision: https://developer.blender.org/D4871
Diffstat (limited to 'source/blender/draw/engines/eevee/eevee_engine.c')
-rw-r--r--source/blender/draw/engines/eevee/eevee_engine.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/source/blender/draw/engines/eevee/eevee_engine.c b/source/blender/draw/engines/eevee/eevee_engine.c
index 26f33f4db31..68dc9ef52a9 100644
--- a/source/blender/draw/engines/eevee/eevee_engine.c
+++ b/source/blender/draw/engines/eevee/eevee_engine.c
@@ -219,6 +219,14 @@ static void eevee_draw_background(void *vedata)
DRW_viewport_matrix_override_set(stl->effects->overide_wininv, DRW_MAT_WININV);
}
+ /* when doing viewport rendering the overrides needs to be recalculated for
+ * every loop as this normally happens once inside
+ * `EEVEE_temporal_sampling_init` */
+ else if (((stl->effects->enabled_effects & EFFECT_TAA) != 0) &&
+ (stl->effects->taa_current_sample > 1) && DRW_state_is_image_render()) {
+ EEVEE_temporal_sampling_update_matrices(vedata);
+ }
+
/* Refresh Probes */
DRW_stats_group_start("Probes Refresh");
EEVEE_lightprobes_refresh(sldata, vedata);
@@ -297,7 +305,7 @@ static void eevee_draw_background(void *vedata)
EEVEE_draw_effects(sldata, vedata);
DRW_stats_group_end();
- if ((stl->effects->taa_current_sample > 1) && !DRW_state_is_image_render()) {
+ if ((stl->effects->taa_current_sample > 1)) {
DRW_viewport_matrix_override_unset_all();
}
}