diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2007-12-06 00:50:23 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2007-12-06 00:50:23 +0300 |
commit | 26b8892c9c6733e2716df4aa84d02e3ff5331735 (patch) | |
tree | 0d552b20e3678176c5b0a6a804d33b3c6de4be80 /source/blender/src/drawobject.c | |
parent | b0c01a414b0915ae73a704e4c676ab985be82a04 (diff) |
Bugfix for mysteriously disappearing left eyeball. Bounding boxes
used for clipping were being stored in the mesh, but modifiers
can result in two objects with the same mesh having a different
bounding box. Solution is to store bounding box in the object.
Diffstat (limited to 'source/blender/src/drawobject.c')
-rw-r--r-- | source/blender/src/drawobject.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/source/blender/src/drawobject.c b/source/blender/src/drawobject.c index c91c335c004..a73c4e71a3d 100644 --- a/source/blender/src/drawobject.c +++ b/source/blender/src/drawobject.c @@ -2430,8 +2430,7 @@ static int draw_mesh_object(Base *base, int dt, int flag) } else { /* don't create boundbox here with mesh_get_bb(), the derived system will make it, puts deformed bb's OK */ - - if(me->totface<=4 || boundbox_clip(ob->obmat, me->bb)) { + if(me->totface<=4 || boundbox_clip(ob->obmat, (ob->bb)? ob->bb: me->bb)) { if(dt==OB_SOLID) has_alpha= init_gl_materials(ob, (base->flag & OB_FROMDUPLI)==0); draw_mesh_fancy(base, dt, flag); @@ -4481,7 +4480,7 @@ static void draw_bounding_volume(Object *ob) BoundBox *bb=0; if(ob->type==OB_MESH) { - bb= mesh_get_bb(ob->data); + bb= mesh_get_bb(ob); } else if ELEM3(ob->type, OB_CURVE, OB_SURF, OB_FONT) { bb= ( (Curve *)ob->data )->bb; |