[#20455] Spotlight halo with deep buffers: render crashes
authorCampbell Barton <ideasman42@gmail.com>
Sun, 3 Jan 2010 03:18:48 +0000 (03:18 +0000)
committerCampbell Barton <ideasman42@gmail.com>
Sun, 3 Jan 2010 03:18:48 +0000 (03:18 +0000)
source/blender/makesdna/DNA_lamp_types.h
source/blender/render/intern/source/convertblender.c
source/blender/render/intern/source/shadeoutput.c

index 0a0046f847097bcdc8872577fbb521234493cf39..c321c9feea71dbc1f738f74235f369742a7b86f8 100644 (file)
@@ -136,7 +136,7 @@ typedef struct Lamp {
 #define LA_SQUARE              128
 #define LA_TEXTURE             256
 #define LA_OSATEX              512
-#define LA_DEEP_SHADOW 1024
+/* #define LA_DEEP_SHADOW      1024 */ /* not used anywhere */
 #define LA_NO_DIFF             2048
 #define LA_NO_SPEC             4096
 #define LA_SHAD_RAY            8192
index feac12d931f9adb3751166754f80858f1d07ea7e..899ddbe4fb469054cd1758dd73ec6112352075dc 100644 (file)
@@ -3630,7 +3630,7 @@ static GroupObject *add_render_lamp(Render *re, Object *ob)
        }
 
        /* set flag for spothalo en initvars */
-       if(la->type==LA_SPOT && (la->mode & LA_HALO)) {
+       if(la->type==LA_SPOT && (la->mode & LA_HALO) && (la->buftype != LA_SHADBUF_DEEP)) {
                if(la->haint>0.0) {
                        re->flag |= R_LAMPHALO;
 
index 958a2e3421510547d9db13d074ad38e292cc9733..e9386bb0d94dd4621fbb3cee13bdbf892c7dafde 100644 (file)
@@ -354,7 +354,7 @@ void renderspothalo(ShadeInput *shi, float *col, float alpha)
                lar= go->lampren;
                if(lar==NULL) continue;
                
-               if(lar->type==LA_SPOT && (lar->mode & LA_HALO) && lar->haint>0) {
+               if(lar->type==LA_SPOT && (lar->mode & LA_HALO) && (lar->buftype != LA_SHADBUF_DEEP) && lar->haint>0) {
                        
                        if(lar->mode & LA_LAYER) 
                                if(shi->vlr && (lar->lay & shi->obi->lay)==0)