[Bf-blender-cvs] [79f99becafa] master: Fix T73954: Cycles viewport render from camera not respecting aspect ratio

Brecht Van Lommel noreply at git.blender.org
Tue Feb 18 10:11:19 CET 2020


Commit: 79f99becafa3e2a2d7e0b6779961a4e2b58b371e
Author: Brecht Van Lommel
Date:   Tue Feb 18 10:10:22 2020 +0100
Branches: master
https://developer.blender.org/rB79f99becafa3e2a2d7e0b6779961a4e2b58b371e

Fix T73954: Cycles viewport render from camera not respecting aspect ratio

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

M	intern/cycles/blender/blender_camera.cpp

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

diff --git a/intern/cycles/blender/blender_camera.cpp b/intern/cycles/blender/blender_camera.cpp
index 990061dd9f1..40a1a2c2edc 100644
--- a/intern/cycles/blender/blender_camera.cpp
+++ b/intern/cycles/blender/blender_camera.cpp
@@ -725,22 +725,26 @@ static void blender_camera_view_subset(BL::RenderEngine &b_engine,
   BoundBox2D cam, view;
   float view_aspect, cam_aspect, sensor_size;
 
-  /* get viewport viewplane */
+  /* Get viewport viewplane. */
   BlenderCamera view_bcam;
   blender_camera_init(&view_bcam, b_render);
   blender_camera_from_view(&view_bcam, b_engine, b_scene, b_v3d, b_rv3d, width, height, true);
 
   blender_camera_viewplane(&view_bcam, width, height, &view, &view_aspect, &sensor_size);
 
-  /* get camera viewplane */
+  /* Get camera viewplane. */
   BlenderCamera cam_bcam;
   blender_camera_init(&cam_bcam, b_render);
   blender_camera_from_object(&cam_bcam, b_engine, b_ob, true);
 
+  /* Camera border is affect by aspect, viewport is not. */
+  cam_bcam.pixelaspect.x = b_render.pixel_aspect_x();
+  cam_bcam.pixelaspect.y = b_render.pixel_aspect_y();
+
   blender_camera_viewplane(
       &cam_bcam, cam_bcam.full_width, cam_bcam.full_height, &cam, &cam_aspect, &sensor_size);
 
-  /* return */
+  /* Return */
   *view_box = view * (1.0f / view_aspect);
   *cam_box = cam * (1.0f / cam_aspect);
 }



More information about the Bf-blender-cvs mailing list