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:
authorCampbell Barton <ideasman42@gmail.com>2019-07-24 15:30:31 +0300
committerCampbell Barton <ideasman42@gmail.com>2019-07-24 15:32:17 +0300
commitbfe580642f46539ba85341fa8db451c52afd0cb4 (patch)
treebccbc9b35d9069eccbd8a1d35b7a5c16535e2e35 /source/blender/draw
parent4fe0fafb875581e4a116db17da6a032fd1749f65 (diff)
Fix background image rotation and offset
- Offset was halved & not compensating for non-square aspect. - Rotation was flipped.
Diffstat (limited to 'source/blender/draw')
-rw-r--r--source/blender/draw/modes/object_mode.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/source/blender/draw/modes/object_mode.c b/source/blender/draw/modes/object_mode.c
index ffa013d2758..8d4083f1723 100644
--- a/source/blender/draw/modes/object_mode.c
+++ b/source/blender/draw/modes/object_mode.c
@@ -1242,7 +1242,7 @@ static void DRW_shgroup_camera_background_images(OBJECT_Shaders *sh_data,
unit_m4(win_m4_scale);
unit_m4(win_m4_translate);
unit_m4(scale_m4);
- axis_angle_to_mat4_single(rot_m4, 'Z', bgpic->rotation);
+ axis_angle_to_mat4_single(rot_m4, 'Z', -bgpic->rotation);
unit_m4(translate_m4);
const float *size = DRW_viewport_size_get();
@@ -1311,9 +1311,9 @@ static void DRW_shgroup_camera_background_images(OBJECT_Shaders *sh_data,
scale_m4[0][0] = scale_x;
scale_m4[1][1] = scale_y;
- // translate
- translate_m4[3][0] = bgpic->offset[0];
- translate_m4[3][1] = bgpic->offset[1];
+ /* Translate, using coordinates that aren't squashed by the aspect. */
+ translate_m4[3][0] = bgpic->offset[0] * 2.0f * max_ff(1.0f, 1.0f / camera_aspect);
+ translate_m4[3][1] = bgpic->offset[1] * 2.0f * max_ff(1.0f, camera_aspect);
mul_m4_series(bg_data->transform_mat,
win_m4_translate,