From 4ddff574d7b1534e43deb22b09d0cdb8a7393896 Mon Sep 17 00:00:00 2001 From: YimingWu Date: Tue, 27 Apr 2021 11:26:44 +0800 Subject: Fix T87832: Incorrect FOV in line art when sensor fit is not Auto. Reviewed by Sebastian Parborg https://developer.blender.org/D11095 --- .../gpencil_modifiers/intern/lineart/lineart_cpu.c | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/source/blender/gpencil_modifiers/intern/lineart/lineart_cpu.c b/source/blender/gpencil_modifiers/intern/lineart/lineart_cpu.c index 3778e60d813..9c4e428f58a 100644 --- a/source/blender/gpencil_modifiers/intern/lineart/lineart_cpu.c +++ b/source/blender/gpencil_modifiers/intern/lineart/lineart_cpu.c @@ -1817,8 +1817,23 @@ static void lineart_main_load_geometries( double asp = ((double)rb->w / (double)rb->h); if (cam->type == CAM_PERSP) { - if (asp < 1) { - fov /= asp; + if (cam->sensor_fit == CAMERA_SENSOR_FIT_AUTO) { + if (asp < 1) { + fov /= asp; + } + else { + fov *= asp; + } + } + else if (cam->sensor_fit == CAMERA_SENSOR_FIT_HOR) { + if (asp < 1) { + fov /= asp; + } + } + else if (cam->sensor_fit == CAMERA_SENSOR_FIT_VERT) { + if (asp > 1) { + fov *= asp; + } } lineart_matrix_perspective_44d(proj, fov, asp, cam->clip_start, cam->clip_end); } -- cgit v1.2.3