[#20455] Spotlight halo with deep buffers: render crashes
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user