683 |
|
SDfreeCache(nd.sd); |
684 |
|
return(1); |
685 |
|
} |
686 |
< |
/* diffuse reflectance */ |
686 |
> |
/* diffuse components */ |
687 |
|
if (hitfront) { |
688 |
|
cvt_sdcolor(nd.rdiff, &nd.sd->rLambFront); |
689 |
|
if (m->oargs.nfargs >= 3) { |
692 |
|
m->oargs.farg[2]); |
693 |
|
addcolor(nd.rdiff, ctmp); |
694 |
|
} |
695 |
+ |
cvt_sdcolor(nd.tdiff, &nd.sd->tLambFront); |
696 |
|
} else { |
697 |
|
cvt_sdcolor(nd.rdiff, &nd.sd->rLambBack); |
698 |
|
if (m->oargs.nfargs >= 6) { |
701 |
|
m->oargs.farg[5]); |
702 |
|
addcolor(nd.rdiff, ctmp); |
703 |
|
} |
704 |
+ |
cvt_sdcolor(nd.tdiff, &nd.sd->tLambBack); |
705 |
|
} |
706 |
< |
/* diffuse transmittance */ |
705 |
< |
cvt_sdcolor(nd.tdiff, hitfront ? &nd.sd->tLambFront : &nd.sd->tLambBack); |
706 |
< |
if (m->oargs.nfargs >= 9) { |
706 |
> |
if (m->oargs.nfargs >= 9) { /* add diffuse transmittance? */ |
707 |
|
setcolor(ctmp, m->oargs.farg[6], |
708 |
|
m->oargs.farg[7], |
709 |
|
m->oargs.farg[8]); |