[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