--- ray/src/rt/srcsupp.c 2003/04/23 00:52:34 2.11 +++ ray/src/rt/srcsupp.c 2005/10/16 16:04:10 2.15 @@ -1,5 +1,5 @@ #ifndef lint -static const char RCSid[] = "$Id: srcsupp.c,v 2.11 2003/04/23 00:52:34 greg Exp $"; +static const char RCSid[] = "$Id: srcsupp.c,v 2.15 2005/10/16 16:04:10 greg Exp $"; #endif /* * Support routines for source objects and materials @@ -19,7 +19,7 @@ static const char RCSid[] = "$Id: srcsupp.c,v 2.11 200 #include "face.h" -#define SRCINC 4 /* realloc increment for array */ +#define SRCINC 8 /* realloc increment for array */ SRCREC *source = NULL; /* our list of sources */ int nsources = 0; /* the number of sources */ @@ -60,7 +60,10 @@ newsource() /* allocate new source in our array */ return(-1); source[nsources].sflags = 0; source[nsources].nhits = 1; - source[nsources].ntests = 2; /* initial hit probability = 1/2 */ + source[nsources].ntests = 2; /* initial hit probability = 50% */ +#if SHADCACHE + source[nsources].obscache = NULL; +#endif return(nsources++); } @@ -106,7 +109,7 @@ OBJREC *so; src->sloc[j] /= (double)f->nv; } if (!inface(src->sloc, f)) - objerror(so, USER, "cannot hit center"); + objerror(so, USER, "cannot hit center for source"); src->sflags |= SFLAT; VCOPY(src->snorm, f->norm); src->ss2 = f->area; @@ -192,7 +195,7 @@ OBJREC *so; co = getcone(so, 0); VCOPY(src->sloc, CO_P0(co)); if (CO_R0(co) > 0.0) - objerror(so, USER, "cannot hit center"); + objerror(so, USER, "cannot hit center for source"); src->sflags |= SFLAT; VCOPY(src->snorm, co->ad); src->srad = CO_R1(co);