diff options
Diffstat (limited to 'source/blender/gpencil_modifiers/intern/lineart/lineart_cpu.c')
-rw-r--r-- | source/blender/gpencil_modifiers/intern/lineart/lineart_cpu.c | 19 |
1 files 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); } |