| 96 |
|
{ |
| 97 |
|
r->rno = raynum++; |
| 98 |
|
r->newcset = r->clipset; |
| 99 |
+ |
r->robj = OVOID; |
| 100 |
|
r->ro = NULL; |
| 101 |
< |
r->rot = FHUGE; |
| 101 |
> |
r->rt = r->rot = FHUGE; |
| 102 |
|
r->pert[0] = r->pert[1] = r->pert[2] = 0.0; |
| 103 |
|
setcolor(r->pcol, 1.0, 1.0, 1.0); |
| 104 |
|
setcolor(r->rcol, 0.0, 0.0, 0.0); |
| 104 |
– |
r->rt = 0.0; |
| 105 |
|
} |
| 106 |
|
|
| 107 |
|
|
| 269 |
|
backmat = rayshade(&br, back); |
| 270 |
|
/* check for transparency */ |
| 271 |
|
if (backmat ^ foremat) |
| 272 |
< |
if (backmat) |
| 272 |
> |
if (backmat && coef > FTINY) |
| 273 |
|
raytrans(&fr); |
| 274 |
< |
else |
| 274 |
> |
else if (foremat && coef < 1.0-FTINY) |
| 275 |
|
raytrans(&br); |
| 276 |
|
/* mix perturbations */ |
| 277 |
|
for (i = 0; i < 3; i++) |
| 554 |
|
checkset(oset, cxs); /* eliminate double-checking */ |
| 555 |
|
for (i = oset[0]; i > 0; i--) { |
| 556 |
|
o = objptr(oset[i]); |
| 557 |
< |
(*ofun[o->otype].funp)(o, r); |
| 557 |
> |
if ((*ofun[o->otype].funp)(o, r)) |
| 558 |
> |
r->robj = oset[i]; |
| 559 |
|
} |
| 560 |
|
if (r->ro == NULL) |
| 561 |
|
return(0); /* no scores yet */ |