[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [31578] trunk/blender/source/blender/ editors/space_view3d: patch [#23376] Fix for Bug[[#23351] X-Ray + Transparency removes X-Ray effect
Campbell Barton
ideasman42 at gmail.com
Wed Aug 25 14:01:15 CEST 2010
Revision: 31578
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=31578
Author: campbellbarton
Date: 2010-08-25 14:01:15 +0200 (Wed, 25 Aug 2010)
Log Message:
-----------
patch [#23376] Fix for Bug[[#23351] X-Ray + Transparency removes X-Ray effect
from Phil Gosch (saphires)
minor edit on the patch, was adding V3D_XRAY and V3D_XRAYTRANSP lists, only add to one.
Modified Paths:
--------------
trunk/blender/source/blender/editors/space_view3d/drawobject.c
trunk/blender/source/blender/editors/space_view3d/drawvolume.c
trunk/blender/source/blender/editors/space_view3d/view3d_draw.c
trunk/blender/source/blender/editors/space_view3d/view3d_intern.h
Modified: trunk/blender/source/blender/editors/space_view3d/drawobject.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/drawobject.c 2010-08-25 09:33:48 UTC (rev 31577)
+++ trunk/blender/source/blender/editors/space_view3d/drawobject.c 2010-08-25 12:01:15 UTC (rev 31578)
@@ -5537,8 +5537,13 @@
/* don't do xray in particle mode, need the z-buffer */
if(!(ob->mode & OB_MODE_PARTICLE_EDIT)) {
/* xray and transp are set when it is drawing the 2nd/3rd pass */
- if(!v3d->xray && !v3d->transp && (ob->dtx & OB_DRAWXRAY) && !(ob->dtx & OB_DRAWTRANSP)) {
- add_view3d_after(v3d, base, V3D_XRAY, flag);
+ if(!v3d->xray && !v3d->transp && (ob->dtx & OB_DRAWXRAY)) {
+ if(ob->dtx & OB_DRAWTRANSP) {
+ add_view3d_after(v3d, base, V3D_XRAYTRANSP, flag);
+ }
+ else {
+ add_view3d_after(v3d, base, V3D_XRAY, flag);
+ }
return;
}
}
Modified: trunk/blender/source/blender/editors/space_view3d/drawvolume.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/drawvolume.c 2010-08-25 09:33:48 UTC (rev 31577)
+++ trunk/blender/source/blender/editors/space_view3d/drawvolume.c 2010-08-25 12:01:15 UTC (rev 31578)
@@ -116,6 +116,7 @@
{
gettimeofday ( &_tend,&tz );
}
+ #if 0
static double tval()
{
double t1, t2;
@@ -123,6 +124,7 @@
t2 = ( double ) _tend.tv_sec*1000 + ( double ) _tend.tv_usec/ ( 1000 );
return t2-t1;
}
+ #endif
#endif
struct GPUTexture;
Modified: trunk/blender/source/blender/editors/space_view3d/view3d_draw.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/view3d_draw.c 2010-08-25 09:33:48 UTC (rev 31577)
+++ trunk/blender/source/blender/editors/space_view3d/view3d_draw.c 2010-08-25 12:01:15 UTC (rev 31578)
@@ -1440,7 +1440,7 @@
int doit= 0;
for(v3da= v3d->afterdraw.first; v3da; v3da= v3da->next)
- if(v3da->type==V3D_XRAY) doit= 1;
+ if(v3da->type==V3D_XRAY || v3da->type==V3D_XRAYTRANSP) doit= 1;
if(doit) {
if(clear && v3d->zbuf) glClear(GL_DEPTH_BUFFER_BIT);
@@ -1453,6 +1453,13 @@
BLI_remlink(&v3d->afterdraw, v3da);
MEM_freeN(v3da);
}
+ else if(v3da->type==V3D_XRAYTRANSP){
+ v3d->transp= TRUE;
+ draw_object(scene, ar, v3d, v3da->base, v3da->flag);
+ BLI_remlink(&v3d->afterdraw, v3da);
+ MEM_freeN(v3da);
+ v3d->transp= FALSE;
+ }
}
v3d->xray= FALSE;
}
@@ -1767,6 +1774,8 @@
v3d->xray= TRUE; v3d->transp= FALSE;
} else if (v3da->type==V3D_TRANSP) {
v3d->xray= FALSE; v3d->transp= TRUE;
+ } else if (v3da->type == V3D_XRAYTRANSP) {
+ v3d->xray= TRUE; v3d->transp= TRUE;
}
draw_object(scene, ar, v3d, v3da->base, 0); /* Draw Xray or Transp objects normally */
Modified: trunk/blender/source/blender/editors/space_view3d/view3d_intern.h
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/view3d_intern.h 2010-08-25 09:33:48 UTC (rev 31577)
+++ trunk/blender/source/blender/editors/space_view3d/view3d_intern.h 2010-08-25 12:01:15 UTC (rev 31578)
@@ -56,6 +56,7 @@
#define V3D_XRAY 1
#define V3D_TRANSP 2
+#define V3D_XRAYTRANSP 4
#define V3D_SELECT_MOUSE 1
More information about the Bf-blender-cvs
mailing list