diff options
Diffstat (limited to 'source/blender/editors/space_view3d/drawarmature.c')
-rw-r--r-- | source/blender/editors/space_view3d/drawarmature.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/source/blender/editors/space_view3d/drawarmature.c b/source/blender/editors/space_view3d/drawarmature.c index f33f074e6c5..863a2d64646 100644 --- a/source/blender/editors/space_view3d/drawarmature.c +++ b/source/blender/editors/space_view3d/drawarmature.c @@ -1739,6 +1739,8 @@ static void draw_pose_bones(Scene *scene, View3D *v3d, ARegion *ar, Base *base, { if (bone->layer & arm->layer) { const bool use_custom = (pchan->custom) && !(arm->flag & ARM_NO_CUSTOM); + + /* skip drawing in that case */ glPushMatrix(); if (use_custom && pchan->custom_tx) { @@ -2305,7 +2307,7 @@ static void draw_ebones(View3D *v3d, ARegion *ar, Object *ob, const short dt) /* draw bone paths * - in view space */ -static void draw_pose_paths(Scene *scene, View3D *v3d, ARegion *ar, Object *ob) +void draw_pose_paths(Scene *scene, View3D *v3d, ARegion *ar, Object *ob) { bAnimVizSettings *avs = &ob->pose->avs; bArmature *arm = ob->data; @@ -2313,7 +2315,7 @@ static void draw_pose_paths(Scene *scene, View3D *v3d, ARegion *ar, Object *ob) /* setup drawing environment for paths */ draw_motion_paths_init(v3d, ar); - + /* draw paths where they exist and they releated bone is visible */ for (pchan = ob->pose->chanbase.first; pchan; pchan = pchan->next) { if ((pchan->bone->layer & arm->layer) && (pchan->mpath)) @@ -2606,7 +2608,7 @@ bool draw_armature(Scene *scene, View3D *v3d, ARegion *ar, Base *base, if (v3d->flag2 & V3D_RENDER_OVERRIDE) return true; - + if (dt > OB_WIRE && !ELEM(arm->drawtype, ARM_LINE, ARM_WIRE)) { /* we use color for solid lighting */ const float white[4] = {1.0f, 1.0f, 1.0f, 1.0f}; @@ -2658,7 +2660,6 @@ bool draw_armature(Scene *scene, View3D *v3d, ARegion *ar, Base *base, if (ob == modifiers_isDeformedByArmature(OBACT)) arm->flag |= ARM_POSEMODE; } - draw_pose_paths(scene, v3d, ar, ob); } } } |