diff options
author | Brecht Van Lommel <brecht@blender.org> | 2020-07-09 17:51:48 +0300 |
---|---|---|
committer | Brecht Van Lommel <brecht@blender.org> | 2020-07-09 17:53:28 +0300 |
commit | 2be0ae7c992d59dd74cffb8997bfdf5bcdf3c48d (patch) | |
tree | 7715a19d2babd702e317db945c382e6c9c796ecd | |
parent | 9de09220fc5fcae72bba203c641f67e75eb7ebc5 (diff) |
Fix Cycles unnecessary updates to camera in viewport render
Problem identified by Milan Jaros.
-rw-r--r-- | intern/cycles/blender/blender_camera.cpp | 4 | ||||
-rw-r--r-- | intern/cycles/render/session.cpp | 2 |
2 files changed, 5 insertions, 1 deletions
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; |