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>2022-08-28 13:40:48 +0300
committerClément Foucault <foucault.clem@gmail.com>2022-08-28 13:40:48 +0300
commitdebcb3027e4d56ba8d56a26459eda507db722466 (patch)
tree089c4f8584e949c8185ed69460422cc1272cf01f
parent3ea7e5583b303af65edb3b016b9d19f857da6d9e (diff)
EEVEE-Next: Move render view to be persistent
-rw-r--r--source/blender/draw/engines/eevee_next/eevee_view.cc4
-rw-r--r--source/blender/draw/engines/eevee_next/eevee_view.hh1
2 files changed, 3 insertions, 2 deletions
diff --git a/source/blender/draw/engines/eevee_next/eevee_view.cc b/source/blender/draw/engines/eevee_next/eevee_view.cc
index 152f1c55919..0c32928b24b 100644
--- a/source/blender/draw/engines/eevee_next/eevee_view.cc
+++ b/source/blender/draw/engines/eevee_next/eevee_view.cc
@@ -107,8 +107,6 @@ void ShadingView::render()
DRW_stats_group_start(name_);
DRW_view_set_active(render_view_);
- View render_view_new(name_, render_view_);
-
/* If camera has any motion, compute motion vector in the film pass. Otherwise, we avoid float
* precision issue by setting the motion of all static geometry to 0. */
float4 clear_velocity = float4(inst_.velocity.camera_has_motion() ? VELOCITY_INVALID : 0.0f);
@@ -188,6 +186,8 @@ void ShadingView::update_view()
* out of the blurring radius. To fix this, use custom enlarged culling matrix. */
inst_.depth_of_field.jitter_apply(winmat, viewmat);
DRW_view_update_sub(render_view_, viewmat.ptr(), winmat.ptr());
+
+ render_view_new.sync(viewmat, winmat);
}
/** \} */
diff --git a/source/blender/draw/engines/eevee_next/eevee_view.hh b/source/blender/draw/engines/eevee_next/eevee_view.hh
index 65f27aba795..84c078ce084 100644
--- a/source/blender/draw/engines/eevee_next/eevee_view.hh
+++ b/source/blender/draw/engines/eevee_next/eevee_view.hh
@@ -57,6 +57,7 @@ class ShadingView {
DRWView *sub_view_ = nullptr;
/** Same as sub_view_ but has Depth Of Field jitter applied. */
DRWView *render_view_ = nullptr;
+ View render_view_new = {"Main"};
/** Render size of the view. Can change between scene sample eval. */
int2 extent_ = {-1, -1};