725 |
|
cp = &direct_discount[3*i]; |
726 |
|
copycolor(cdir, cp); |
727 |
|
scalecolor(cdir, -wt); |
728 |
< |
direct_out = flatindex(dv, nalt, nazi); |
728 |
> |
if (b->nout != b->ninc) |
729 |
> |
direct_out = flatindex(dv, nalt, nazi); |
730 |
> |
else |
731 |
> |
direct_out = i; /* assumes dist. mirroring */ |
732 |
|
} |
733 |
|
for (k = nalt; k--; ) /* loop over distribution */ |
734 |
|
for (j = nazi; j--; ) { |
747 |
|
} |
748 |
|
wt = BSDF_value(b, i, o) * (1./NBSDFSAMPS); |
749 |
|
copycolor(col, cinc); |
750 |
< |
o = k*nazi + j; |
750 |
> |
if (b->nout != b->ninc) |
751 |
> |
o = k*nazi + j; |
752 |
|
if (o == direct_out) |
753 |
|
addcolor(col, cdir); /* minus direct */ |
754 |
|
scalecolor(col, wt); |