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:
authorClément Foucault <foucault.clem@gmail.com>2019-05-21 18:53:49 +0300
committerClément Foucault <foucault.clem@gmail.com>2019-05-22 14:29:05 +0300
commit800641a77f9c12c9df76089b4ca18901390ac8c5 (patch)
tree4272744f92bf5091073f8cd65b46cc41d7459cf4 /source/blender/draw/engines/eevee/eevee_engine.c
parent742848843dd04df530f25ac5111cfc2f16237f51 (diff)
Eevee: Make Planar reflections work with the new DRWView system
Also get rid of clip_block which did the same as clipplanes inside common_view_lib.glsl.
Diffstat (limited to 'source/blender/draw/engines/eevee/eevee_engine.c')
-rw-r--r--source/blender/draw/engines/eevee/eevee_engine.c34
1 files changed, 12 insertions, 22 deletions
diff --git a/source/blender/draw/engines/eevee/eevee_engine.c b/source/blender/draw/engines/eevee/eevee_engine.c
index 35614ac79fc..bb37f36f935 100644
--- a/source/blender/draw/engines/eevee/eevee_engine.c
+++ b/source/blender/draw/engines/eevee/eevee_engine.c
@@ -79,9 +79,6 @@ static void eevee_engine_init(void *ved)
sldata->common_ubo = DRW_uniformbuffer_create(sizeof(sldata->common_data),
&sldata->common_data);
}
- if (sldata->clip_ubo == NULL) {
- sldata->clip_ubo = DRW_uniformbuffer_create(sizeof(sldata->clip_data), &sldata->clip_data);
- }
/* EEVEE_effects_init needs to go first for TAA */
EEVEE_effects_init(sldata, vedata, camera, false);
@@ -209,12 +206,22 @@ static void eevee_draw_background(void *vedata)
/* Copy previous persmat to UBO data */
copy_m4_m4(sldata->common_data.prev_persmat, stl->effects->prev_persmat);
+ /* Refresh Probes */
+ DRW_stats_group_start("Probes Refresh");
+ EEVEE_lightprobes_refresh(sldata, vedata);
+ EEVEE_lightprobes_refresh_planar(sldata, vedata);
+ DRW_stats_group_end();
+
+ /* Refresh shadows */
+ DRW_stats_group_start("Shadows");
+ EEVEE_draw_shadows(sldata, vedata, stl->effects->taa_view);
+ DRW_stats_group_end();
+
if (((stl->effects->enabled_effects & EFFECT_TAA) != 0) &&
(stl->effects->taa_current_sample > 1) && !DRW_state_is_image_render() &&
!taa_use_reprojection) {
DRW_view_set_active(stl->effects->taa_view);
}
-
/* when doing viewport rendering the overrides needs to be recalculated for
* every loop as this normally happens once inside
* `EEVEE_temporal_sampling_init` */
@@ -223,21 +230,6 @@ static void eevee_draw_background(void *vedata)
EEVEE_temporal_sampling_update_matrices(vedata);
}
- /* Refresh Probes */
- DRW_stats_group_start("Probes Refresh");
- EEVEE_lightprobes_refresh(sldata, vedata);
- /* Probes refresh can have reset the current sample. */
- if (stl->effects->taa_current_sample == 1) {
- DRW_viewport_matrix_override_unset_all();
- }
- EEVEE_lightprobes_refresh_planar(sldata, vedata);
- DRW_stats_group_end();
-
- /* Refresh shadows */
- DRW_stats_group_start("Shadows");
- EEVEE_draw_shadows(sldata, vedata, stl->effects->taa_view);
- DRW_stats_group_end();
-
/* Set ray type. */
sldata->common_data.ray_type = EEVEE_RAY_CAMERA;
sldata->common_data.ray_depth = 0.0f;
@@ -301,9 +293,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_view_set_active(NULL);
- }
+ DRW_view_set_active(NULL);
}
/* Tonemapping and transfer result to default framebuffer. */