164 |
|
|
165 |
|
if (argc-a > 2) { /* VTDs expression */ |
166 |
|
CMATRIX *smtx, *Dmat, *Tmat, *imtx; |
167 |
– |
COLOR tLamb; |
167 |
|
/* get sky vector/matrix */ |
168 |
|
smtx = cm_load(argv[a+3], 0, nsteps, skyfmt); |
169 |
|
/* load BSDF */ |
170 |
< |
Tmat = cm_loadBSDF(argv[a+1], tLamb); |
170 |
> |
Tmat = cm_loadBTDF(argv[a+1]); |
171 |
|
/* load Daylight matrix */ |
172 |
|
Dmat = cm_load(argv[a+2], Tmat==NULL ? 0 : Tmat->ncols, |
173 |
|
smtx->nrows, DTfromHeader); |
174 |
|
/* multiply vector through */ |
175 |
|
imtx = cm_multiply(Dmat, smtx); |
176 |
|
cm_free(Dmat); cm_free(smtx); |
177 |
< |
if (Tmat == NULL) { /* diffuse only */ |
178 |
< |
cmtx = cm_scale(imtx, tLamb); |
180 |
< |
} else { /* else apply BTDF matrix */ |
181 |
< |
cmtx = cm_multiply(Tmat, imtx); |
182 |
< |
cm_free(Tmat); |
183 |
< |
} |
177 |
> |
cmtx = cm_multiply(Tmat, imtx); |
178 |
> |
cm_free(Tmat); |
179 |
|
cm_free(imtx); |
180 |
|
} else { /* sky vector/matrix only */ |
181 |
|
cmtx = cm_load(argv[a+1], 0, nsteps, skyfmt); |