12 |
|
#include "platform.h" |
13 |
|
#include "ray.h" |
14 |
|
#include "otypes.h" |
15 |
+ |
#include "otspecial.h" |
16 |
|
#include "resolu.h" |
17 |
|
#include "ambient.h" |
18 |
|
#include "random.h" |
416 |
|
VSUM(rtst.rdir, vdif, anorm, t[1]); /* further dist. > plane */ |
417 |
|
rtst.rmax = normalize(rtst.rdir); /* short ray test */ |
418 |
|
while (localhit(&rtst, &thescene)) { /* check for occluder */ |
419 |
< |
if (rtst.ro->omod != OVOID && |
419 |
> |
OBJREC *m = findmaterial(rtst.ro); |
420 |
> |
if (m != NULL && !istransp(m->otype) && !isBSDFproxy(m) && |
421 |
|
(rtst.clipset == NULL || |
422 |
|
!inset(rtst.clipset, rtst.ro->omod))) |
423 |
|
return(1); /* plug light leak */ |