| 127 |
|
if (rdiff <= FTINY && tdiff <= FTINY && alpha2 <= FTINY) |
| 128 |
|
return; /* purely specular */ |
| 129 |
|
|
| 130 |
< |
ambient(ctmp, r); /* compute ambient component */ |
| 131 |
< |
scalecolor(ctmp, 1.0-trans); /* from this side */ |
| 132 |
< |
multcolor(ctmp, mcolor); /* modified by material color */ |
| 133 |
< |
addcolor(r->rcol, ctmp); /* add to returned color */ |
| 134 |
< |
|
| 135 |
< |
if (trans > FTINY) { /* ambient from other side */ |
| 130 |
> |
if (rdiff > FTINY) { /* ambient from this side */ |
| 131 |
> |
ambient(ctmp, r); |
| 132 |
> |
if (alpha2 <= FTINY) |
| 133 |
> |
scalecolor(ctmp, rdiff); |
| 134 |
> |
else |
| 135 |
> |
scalecolor(ctmp, 1.0-trans); |
| 136 |
> |
multcolor(ctmp, mcolor); /* modified by material color */ |
| 137 |
> |
addcolor(r->rcol, ctmp); /* add to returned color */ |
| 138 |
> |
} |
| 139 |
> |
if (tdiff > FTINY) { /* ambient from other side */ |
| 140 |
|
flipsurface(r); |
| 141 |
< |
scalecolor(ctmp, trans); |
| 141 |
> |
ambient(ctmp, r); |
| 142 |
> |
if (alpha2 <= FTINY) |
| 143 |
> |
scalecolor(ctmp, tdiff); |
| 144 |
> |
else |
| 145 |
> |
scalecolor(ctmp, trans); |
| 146 |
|
multcolor(ctmp, mcolor); |
| 147 |
|
addcolor(r->rcol, ctmp); |
| 148 |
|
flipsurface(r); |