diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2018-05-16 15:53:41 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2018-05-16 17:58:32 +0300 |
commit | bcfe075f8970691267ca64ef0eb889e203e29b6f (patch) | |
tree | c2be8f06070eaf299cc20911d1e0eef19c36d9e7 /source/blender/draw/intern/draw_armature.c | |
parent | a25856f2a802dae4e2c4c01e9b74d8c8a1769933 (diff) |
Armature: Fix T55070: Bones relationship lines are offsetted
Was missing object matrix multiplication.
Diffstat (limited to 'source/blender/draw/intern/draw_armature.c')
-rw-r--r-- | source/blender/draw/intern/draw_armature.c | 14 |
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]) |