Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYimingWu <xp8110@outlook.com>2021-04-27 06:26:44 +0300
committerYimingWu <xp8110@outlook.com>2021-04-27 17:34:20 +0300
commit4ddff574d7b1534e43deb22b09d0cdb8a7393896 (patch)
tree11d666952681566f8f8c868569b892bba415d54d
parente714b3a1c3163fa7f63e6e4ae77e6633a9b1d866 (diff)
Fix T87832: Incorrect FOV in line art when sensor fit is not Auto.
Reviewed by Sebastian Parborg https://developer.blender.org/D11095
-rw-r--r--source/blender/gpencil_modifiers/intern/lineart/lineart_cpu.c19
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);
}