diff options
author | Brecht Van Lommel <brecht@blender.org> | 2020-02-18 12:10:22 +0300 |
---|---|---|
committer | Brecht Van Lommel <brecht@blender.org> | 2020-02-18 12:10:48 +0300 |
commit | 79f99becafa3e2a2d7e0b6779961a4e2b58b371e (patch) | |
tree | 8cfe3ec2a7f3488aefe8da269c5bc6f3e46beb4a /intern | |
parent | f35f7bd97a4151ae6349d5e85988d4ab9e394d38 (diff) |
Fix T73954: Cycles viewport render from camera not respecting aspect ratio
Diffstat (limited to 'intern')
-rw-r--r-- | intern/cycles/blender/blender_camera.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
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); } |