| 438 |
|
{ |
| 439 |
|
/* check for over-counting */ |
| 440 |
|
if (badcomponent(m, r)) |
| 441 |
< |
return; |
| 441 |
> |
return(1); |
| 442 |
|
if (wrongsource(m,r)) |
| 443 |
< |
return; |
| 443 |
> |
return(1); |
| 444 |
|
/* check for passed illum */ |
| 445 |
|
if (passillum(m, r)) { |
| 446 |
< |
if (m->oargs.nsargs < 1 || !strcmp(m->oargs.sarg[0], VOIDID)) |
| 447 |
< |
raytrans(r); |
| 448 |
< |
else |
| 449 |
< |
rayshade(r, modifier(m->oargs.sarg[0])); |
| 450 |
< |
return; |
| 446 |
> |
if (m->oargs.nsargs && strcmp(m->oargs.sarg[0], VOIDID)) |
| 447 |
> |
return(rayshade(r, modifier(m->oargs.sarg[0]))); |
| 448 |
> |
raytrans(r); |
| 449 |
> |
return(1); |
| 450 |
|
} |
| 451 |
|
/* otherwise treat as source */ |
| 452 |
|
/* check for behind */ |
| 453 |
|
if (r->rod < 0.0) |
| 454 |
< |
return; |
| 454 |
> |
return(1); |
| 455 |
|
/* check for invisibility */ |
| 456 |
|
if (srcignore(m, r)) |
| 457 |
< |
return; |
| 457 |
> |
return(1); |
| 458 |
|
/* check for outside spot */ |
| 459 |
|
if (m->otype==MAT_SPOT && spotout(r, makespot(m), r->rot>=FHUGE)) |
| 460 |
< |
return; |
| 460 |
> |
return(1); |
| 461 |
|
/* get distribution pattern */ |
| 462 |
|
raytexture(r, m->omod); |
| 463 |
|
/* get source color */ |
| 466 |
|
m->oargs.farg[2]); |
| 467 |
|
/* modify value */ |
| 468 |
|
multcolor(r->rcol, r->pcol); |
| 469 |
+ |
return(1); |
| 470 |
|
} |