From ae8c2963e512536db94a75c2245003364d2397f0 Mon Sep 17 00:00:00 2001 From: Ton Roosendaal Date: Thu, 8 Dec 2005 20:07:41 +0000 Subject: [PATCH] Orange: fix for duplicator-group using X-Ray or Transparent draw options. Note that X-ray is skipped, since it can only work for clearing the zbuffer, but Transparent works now. --- source/blender/src/drawobject.c | 2 +- source/blender/src/drawview.c | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/source/blender/src/drawobject.c b/source/blender/src/drawobject.c index 48f6895c292..10fdbee4dba 100644 --- a/source/blender/src/drawobject.c +++ b/source/blender/src/drawobject.c @@ -3495,7 +3495,7 @@ void draw_object(Base *base, int flag) ob= base->object; /* xray delay? */ - if((flag & DRAW_PICKING)==0) { + if((flag & DRAW_PICKING)==0 && (ob->flag & OB_FROMDUPLI)==0) { /* xray and transp are set when it is drawing the 2nd/3rd pass */ if(!G.vd->xray && !G.vd->transp && (ob->dtx & OB_DRAWXRAY)) { add_view3d_after(G.vd, base, V3D_XRAY); diff --git a/source/blender/src/drawview.c b/source/blender/src/drawview.c index 1cc5b335626..dcb5e391046 100644 --- a/source/blender/src/drawview.c +++ b/source/blender/src/drawview.c @@ -2217,6 +2217,10 @@ void drawview3dspace(ScrArea *sa, void *spacedata) draw_object(&tbase, DRAW_CONSTCOLOR); ob= ob->id.next; } + + /* Transp afterdraw */ + view3d_draw_transp(v3d, DRAW_CONSTCOLOR); + free_duplilist(); } @@ -2253,6 +2257,9 @@ void drawview3dspace(ScrArea *sa, void *spacedata) draw_object(&tbase, DRAW_CONSTCOLOR); ob= ob->id.next; } + /* Transp afterdraw stuff */ + view3d_draw_transp(v3d, DRAW_CONSTCOLOR); + free_duplilist(); } if((base->flag & SELECT)==0) { @@ -2409,6 +2416,9 @@ void drawview3d_render(struct View3D *v3d) draw_object(&tbase, DRAW_CONSTCOLOR); ob= ob->id.next; } + /* Transp afterdraw stuff */ + view3d_draw_transp(v3d, DRAW_CONSTCOLOR); + free_duplilist(); } } @@ -2445,6 +2455,10 @@ void drawview3d_render(struct View3D *v3d) draw_object(&tbase, DRAW_CONSTCOLOR); ob= ob->id.next; } + + /* Transp afterdraw stuff */ + view3d_draw_transp(v3d, DRAW_CONSTCOLOR); + free_duplilist(); } else if((base->flag & SELECT)==0) {