[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [29943] trunk/blender/source/blender/ editors/space_view3d: Fix #22432: unrenderable objects cast shadow in GLSL.

Brecht Van Lommel brecht at blender.org
Sun Jul 4 19:22:24 CEST 2010


Revision: 29943
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=29943
Author:   blendix
Date:     2010-07-04 19:22:24 +0200 (Sun, 04 Jul 2010)

Log Message:
-----------
Fix #22432: unrenderable objects cast shadow in GLSL. Committing
patch by Matt, I only reviewed it.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/space_view3d/drawobject.c
    trunk/blender/source/blender/editors/space_view3d/view3d_draw.c

Modified: trunk/blender/source/blender/editors/space_view3d/drawobject.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/drawobject.c	2010-07-04 17:14:06 UTC (rev 29942)
+++ trunk/blender/source/blender/editors/space_view3d/drawobject.c	2010-07-04 17:22:24 UTC (rev 29943)
@@ -5557,6 +5557,9 @@
 	if (ob!=scene->obedit) {
 		if (ob->restrictflag & OB_RESTRICT_VIEW) 
 			return;
+		if ((ob->restrictflag & OB_RESTRICT_RENDER) && 
+			(v3d->flag2 & V3D_RENDER_OVERRIDE))
+			return;
 	}
 
 	/* XXX particles are not safe for simultaneous threaded render */

Modified: trunk/blender/source/blender/editors/space_view3d/view3d_draw.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/view3d_draw.c	2010-07-04 17:14:06 UTC (rev 29942)
+++ trunk/blender/source/blender/editors/space_view3d/view3d_draw.c	2010-07-04 17:22:24 UTC (rev 29943)
@@ -1830,15 +1830,15 @@
 	for(shadow=shadows.first; shadow; shadow=shadow->next) {
 		/* this needs to be done better .. */
 		float viewmat[4][4], winmat[4][4];
-		int drawtype, lay, winsize, flag2;
+		int drawtype, lay, winsize, flag2=v3d->flag2;
 		
 		drawtype= v3d->drawtype;
 		lay= v3d->lay;
-		flag2= v3d->flag2 & V3D_SOLID_TEX;
 		
 		v3d->drawtype = OB_SOLID;
 		v3d->lay &= GPU_lamp_shadow_layer(shadow->lamp);
 		v3d->flag2 &= ~V3D_SOLID_TEX;
+		v3d->flag2 |= V3D_RENDER_OVERRIDE;
 		
 		GPU_lamp_shadow_buffer_bind(shadow->lamp, viewmat, &winsize, winmat);
 
@@ -1859,7 +1859,7 @@
 		
 		v3d->drawtype= drawtype;
 		v3d->lay= lay;
-		v3d->flag2 |= flag2;
+		v3d->flag2 = flag2;
 	}
 	
 	BLI_freelistN(&shadows);
@@ -1962,7 +1962,7 @@
 	bwiny= ar->winy;
 	ar->winx= winx;
 	ar->winy= winy;
-
+	
 	/* set flags */
 	G.f |= G_RENDER_OGL;
 





More information about the Bf-blender-cvs mailing list