| 25 | 
  | 
extern double  minweight;               /* minimum ray weight */ | 
| 26 | 
  | 
extern int  do_irrad;                   /* compute irradiance? */ | 
| 27 | 
  | 
 | 
| 28 | 
< | 
long  raynum = 0L;                      /* next unique ray number */ | 
| 29 | 
< | 
long  nrays = 0L;                       /* number of calls to localhit */ | 
| 28 | 
> | 
unsigned long  raynum = 0;              /* next unique ray number */ | 
| 29 | 
> | 
unsigned long  nrays = 0;               /* number of calls to localhit */ | 
| 30 | 
  | 
 | 
| 31 | 
  | 
static FLOAT  Lambfa[5] = {PI, PI, PI, 0.0, 0.0}; | 
| 32 | 
  | 
OBJREC  Lamb = { | 
| 105 | 
  | 
raycont(r)                      /* check for clipped object and continue */ | 
| 106 | 
  | 
register RAY  *r; | 
| 107 | 
  | 
{ | 
| 108 | 
< | 
        if (r->clipset != NULL && inset(r->clipset, r->ro->omod)) | 
| 108 | 
> | 
        if ((r->clipset != NULL && inset(r->clipset, r->ro->omod)) || | 
| 109 | 
> | 
                        r->ro->omod == OVOID) | 
| 110 | 
  | 
                raytrans(r); | 
| 111 | 
  | 
        else | 
| 112 | 
  | 
                rayshade(r, r->ro->omod); | 
| 331 | 
  | 
        sflags = 0; | 
| 332 | 
  | 
        for (i = 0; i < 3; i++) { | 
| 333 | 
  | 
                curpos[i] = r->rorg[i]; | 
| 334 | 
< | 
                if (r->rdir[i] > FTINY) | 
| 334 | 
> | 
                if (r->rdir[i] > 1e-7) | 
| 335 | 
  | 
                        sflags |= 1 << i; | 
| 336 | 
< | 
                else if (r->rdir[i] < -FTINY) | 
| 336 | 
> | 
                else if (r->rdir[i] < -1e-7) | 
| 337 | 
  | 
                        sflags |= 0x10 << i; | 
| 338 | 
  | 
        } | 
| 339 | 
  | 
        if (sflags == 0) | 
| 464 | 
  | 
        checkset(oset, cxs);                    /* eliminate double-checking */ | 
| 465 | 
  | 
        for (i = oset[0]; i > 0; i--) { | 
| 466 | 
  | 
                o = objptr(oset[i]); | 
| 466 | 
– | 
                if (o->omod == OVOID && issurface(o->otype)) | 
| 467 | 
– | 
                        continue;               /* ignore void surfaces */ | 
| 467 | 
  | 
                (*ofun[o->otype].funp)(o, r); | 
| 468 | 
  | 
        } | 
| 469 | 
  | 
        if (r->ro == NULL) |