435 |
|
scp->sno = sr.rsrc; |
436 |
|
#if SHADCACHE /* check shadow cache */ |
437 |
|
if (si.np == 1 && srcblocked(&sr)) { |
438 |
< |
cntord[sn].brt = 0.0; |
438 |
> |
cntord[sn].brt = 0.0; /* & count as test */ |
439 |
> |
if (source[scp->sno].ntests++ > 0xfffffff0) { |
440 |
> |
source[scp->sno].ntests >>= 1; |
441 |
> |
source[scp->sno].nhits >>= 1; |
442 |
> |
} |
443 |
|
continue; |
444 |
|
} |
445 |
|
#endif |
770 |
|
return(1); |
771 |
|
} |
772 |
|
/* otherwise treat as source */ |
773 |
< |
/* check for behind */ |
774 |
< |
if (r->rod < 0.0) |
773 |
> |
if (r->rod < 0.0) { /* check for behind */ |
774 |
> |
if (!backvis) |
775 |
> |
raytrans(r); /* used to return black */ |
776 |
|
return(1); |
777 |
+ |
} |
778 |
|
/* check for outside spot */ |
779 |
|
if (m->otype==MAT_SPOT && spotout(r, makespot(m))) |
780 |
|
return(1); |