| 41 |
|
static char *wrapBSDF[MAXCARG] = {"wrapBSDF", "-W", "-UU"}; |
| 42 |
|
static int wbsdfac = 3; |
| 43 |
|
|
| 44 |
< |
/* Add argument to wrapBSDF, allocating space if isstatic */ |
| 44 |
> |
/* Add argument to wrapBSDF, allocating space if !isstatic */ |
| 45 |
|
static void |
| 46 |
|
add_wbsdf(const char *arg, int isstatic) |
| 47 |
|
{ |
| 202 |
|
goto err; |
| 203 |
|
sum += sdv.cieY; |
| 204 |
|
if (rbf_colorimetry == RBCtristimulus) { |
| 205 |
– |
c_ccvt(&sdv.spec, C_CSXY); |
| 205 |
|
xsum += sdv.cieY * sdv.spec.cx; |
| 206 |
|
ysum += sdv.cieY * sdv.spec.cy; |
| 207 |
|
} |
| 251 |
|
goto err; |
| 252 |
|
sum += sdv.cieY; |
| 253 |
|
if (rbf_colorimetry == RBCtristimulus) { |
| 255 |
– |
c_ccvt(&sdv.spec, C_CSXY); |
| 254 |
|
xsum += sdv.cieY * sdv.spec.cx; |
| 255 |
|
ysum += sdv.cieY * sdv.spec.cy; |
| 256 |
|
} |
| 299 |
|
goto err; |
| 300 |
|
sum += sdv.cieY; |
| 301 |
|
if (rbf_colorimetry == RBCtristimulus) { |
| 304 |
– |
c_ccvt(&sdv.spec, C_CSXY); |
| 302 |
|
xsum += sdv.cieY * sdv.spec.cx; |
| 303 |
|
ysum += sdv.cieY * sdv.spec.cy; |
| 304 |
|
} |
| 348 |
|
goto err; |
| 349 |
|
sum += sdv.cieY; |
| 350 |
|
if (rbf_colorimetry == RBCtristimulus) { |
| 354 |
– |
c_ccvt(&sdv.spec, C_CSXY); |
| 351 |
|
xsum += sdv.cieY * sdv.spec.cx; |
| 352 |
|
ysum += sdv.cieY * sdv.spec.cy; |
| 353 |
|
} |
| 466 |
|
|
| 467 |
|
eval_rbfcol(&sdv, rbf, vout); |
| 468 |
|
sum += sdv.cieY; |
| 469 |
< |
if (XZarr != NULL) { |
| 474 |
< |
c_ccvt(&sdv.spec, C_CSXY); |
| 469 |
> |
if (rbf_colorimetry == RBCtristimulus) { |
| 470 |
|
xsum += sdv.cieY * sdv.spec.cx; |
| 471 |
|
ysum += sdv.cieY * sdv.spec.cy; |
| 472 |
|
} |
| 473 |
|
} |
| 474 |
|
n = j*abp->nangles + i; |
| 475 |
|
bsdfarr[n] = sum / npsamps; |
| 476 |
< |
if (XZarr != NULL) { |
| 476 |
> |
if (rbf_colorimetry == RBCtristimulus) { |
| 477 |
|
XZarr[n][0] = xsum*sum/(npsamps*ysum); |
| 478 |
|
XZarr[n][1] = (sum - xsum - ysum)*sum/(npsamps*ysum); |
| 479 |
|
} |
| 515 |
|
} |
| 516 |
|
} |
| 517 |
|
|
| 518 |
< |
#ifdef _WIN32 |
| 518 |
> |
#if defined(_WIN32) || defined(_WIN64) |
| 519 |
|
/* Execute wrapBSDF command (may never return) */ |
| 520 |
|
static int |
| 521 |
|
wrap_up(void) |
| 602 |
|
add_wbsdf("-f", 1); |
| 603 |
|
add_wbsdf(argv[i], 1); |
| 604 |
|
} else { |
| 605 |
< |
fcompile(argv[i]); |
| 605 |
> |
char *fpath = getpath(argv[i], |
| 606 |
> |
getrlibpath(), 0); |
| 607 |
> |
if (fpath == NULL) { |
| 608 |
> |
fprintf(stderr, |
| 609 |
> |
"%s: cannot find file '%s'\n", |
| 610 |
> |
argv[0], argv[i]); |
| 611 |
> |
return(1); |
| 612 |
> |
} |
| 613 |
> |
fcompile(fpath); |
| 614 |
|
single_plane_incident = 0; |
| 615 |
|
} |
| 616 |
|
} else |