[Bf-blender-cvs] [2be0ae7c992] master: Fix Cycles unnecessary updates to camera in viewport render

Brecht Van Lommel noreply at git.blender.org
Thu Jul 9 16:57:01 CEST 2020


Commit: 2be0ae7c992d59dd74cffb8997bfdf5bcdf3c48d
Author: Brecht Van Lommel
Date:   Thu Jul 9 16:51:48 2020 +0200
Branches: master
https://developer.blender.org/rB2be0ae7c992d59dd74cffb8997bfdf5bcdf3c48d

Fix Cycles unnecessary updates to camera in viewport render

Problem identified by Milan Jaros.

===================================================================

M	intern/cycles/blender/blender_camera.cpp
M	intern/cycles/render/session.cpp

===================================================================

diff --git a/intern/cycles/blender/blender_camera.cpp b/intern/cycles/blender/blender_camera.cpp
index 011678a7a65..592a69585de 100644
--- a/intern/cycles/blender/blender_camera.cpp
+++ b/intern/cycles/blender/blender_camera.cpp
@@ -709,6 +709,10 @@ static void blender_camera_from_view(BlenderCamera *bcam,
 
   /* 3d view transform */
   bcam->matrix = transform_inverse(get_transform(b_rv3d.view_matrix()));
+
+  /* dimensions */
+  bcam->full_width = width;
+  bcam->full_height = height;
 }
 
 static void blender_camera_view_subset(BL::RenderEngine &b_engine,
diff --git a/intern/cycles/render/session.cpp b/intern/cycles/render/session.cpp
index 1a94d3e9db7..d728b982ed5 100644
--- a/intern/cycles/render/session.cpp
+++ b/intern/cycles/render/session.cpp
@@ -1003,7 +1003,7 @@ bool Session::update_scene()
   int height = tile_manager.state.buffer.full_height;
   int resolution = tile_manager.state.resolution_divider;
 
-  if (width != cam->width || height != cam->height) {
+  if (width != cam->width || height != cam->height || resolution != cam->resolution) {
     cam->width = width;
     cam->height = height;
     cam->resolution = resolution;



More information about the Bf-blender-cvs mailing list