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;
 


_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to