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:
authorDaniel Dunbar <daniel@zuster.org>2005-07-14 21:10:44 +0400
committerDaniel Dunbar <daniel@zuster.org>2005-07-14 21:10:44 +0400
commitaa454cd4124b6323201b334e4a5b68cc4badd5a5 (patch)
treeb9f277bff293509692cb70573266a0e2efba1508 /source/blender/src/drawobject.c
parentabbda3a8a148a2b14b645a3a9396b8eace212a8f (diff)
- switch to using DAG_object_flush_update instead of mesh_changed
- mesh drawing calculated derived surface before clipping to view matrix, waste for offscreen objects
Diffstat (limited to 'source/blender/src/drawobject.c')
-rw-r--r--source/blender/src/drawobject.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/source/blender/src/drawobject.c b/source/blender/src/drawobject.c
index 7005a9384f6..f41dc5d07af 100644
--- a/source/blender/src/drawobject.c
+++ b/source/blender/src/drawobject.c
@@ -1920,27 +1920,32 @@ static void draw_mesh_object(Base *base, int dt)
{
Object *ob= base->object;
Mesh *me= ob->data;
- DerivedMesh *baseDM = mesh_get_base_derived(ob);
- DerivedMesh *realDM = mesh_get_derived(ob);
int has_alpha= 0;
if(G.obedit && ob->data==G.obedit->data) {
+ DerivedMesh *baseDM = mesh_get_base_derived(ob);
+ DerivedMesh *realDM = mesh_get_derived(ob);
+
if(dt>OB_WIRE) init_gl_materials(ob); // no transp in editmode, the fancy draw over goes bad then
draw_em_fancy(ob, G.editMesh, baseDM, realDM, dt);
+
+ baseDM->release(baseDM);
}
else {
if(me->bb==NULL) tex_space_mesh(me);
if(me->totface<=4 || boundbox_clip(ob->obmat, me->bb)) {
+ DerivedMesh *baseDM = mesh_get_base_derived(ob);
+ DerivedMesh *realDM = mesh_get_derived(ob);
+
if(dt==OB_SOLID) has_alpha= init_gl_materials(ob);
draw_mesh_fancy(ob, baseDM, realDM, dt);
+
+ baseDM->release(baseDM);
}
}
/* init_gl_materials did the proper checking if this is needed */
if(has_alpha) add_view3d_after(G.vd, base, V3D_TRANSP);
-
- baseDM->release(baseDM);
-
}
/* ************** DRAW DISPLIST ****************** */