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:
authorClément Foucault <foucault.clem@gmail.com>2018-05-16 15:53:41 +0300
committerClément Foucault <foucault.clem@gmail.com>2018-05-16 17:58:32 +0300
commitbcfe075f8970691267ca64ef0eb889e203e29b6f (patch)
treec2be8f06070eaf299cc20911d1e0eef19c36d9e7
parenta25856f2a802dae4e2c4c01e9b74d8c8a1769933 (diff)
Armature: Fix T55070: Bones relationship lines are offsetted
Was missing object matrix multiplication.
-rw-r--r--source/blender/draw/intern/draw_armature.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/source/blender/draw/intern/draw_armature.c b/source/blender/draw/intern/draw_armature.c
index d07febfdd22..214513c1b47 100644
--- a/source/blender/draw/intern/draw_armature.c
+++ b/source/blender/draw/intern/draw_armature.c
@@ -370,8 +370,11 @@ static void drw_shgroup_bone_relationship_lines(const float start[3], const floa
g_data.lines_relationship = shgroup_dynlines_dashed_uniform_color(g_data.passes.relationship_lines, g_theme.wire_color);
}
/* reverse order to have less stipple overlap */
- DRW_shgroup_call_dynamic_add(g_data.lines_relationship, end);
- DRW_shgroup_call_dynamic_add(g_data.lines_relationship, start);
+ float v[3];
+ mul_v3_m4v3(v, g_data.ob->obmat, end);
+ DRW_shgroup_call_dynamic_add(g_data.lines_relationship, v);
+ mul_v3_m4v3(v, g_data.ob->obmat, start);
+ DRW_shgroup_call_dynamic_add(g_data.lines_relationship, v);
}
static void drw_shgroup_bone_ik_lines(const float start[3], const float end[3])
@@ -381,8 +384,11 @@ static void drw_shgroup_bone_ik_lines(const float start[3], const float end[3])
g_data.lines_ik = shgroup_dynlines_dashed_uniform_color(g_data.passes.relationship_lines, fcolor);
}
/* reverse order to have less stipple overlap */
- DRW_shgroup_call_dynamic_add(g_data.lines_ik, end);
- DRW_shgroup_call_dynamic_add(g_data.lines_ik, start);
+ float v[3];
+ mul_v3_m4v3(v, g_data.ob->obmat, end);
+ DRW_shgroup_call_dynamic_add(g_data.lines_ik, v);
+ mul_v3_m4v3(v, g_data.ob->obmat, start);
+ DRW_shgroup_call_dynamic_add(g_data.lines_ik, v);
}
static void drw_shgroup_bone_ik_no_target_lines(const float start[3], const float end[3])