| 70 |
|
|
| 71 |
|
while (isspace(*cp)) cp++; |
| 72 |
|
|
| 73 |
< |
switch (*cp) { |
| 74 |
< |
case 'l': |
| 73 |
> |
switch (toupper(*cp)) { |
| 74 |
|
case 'L': /* load/activate BSDF input */ |
| 75 |
|
cp2 = cp = sskip2(cp, 1); |
| 76 |
|
if (!*cp) |
| 85 |
|
SDfreeCache(bsdf); |
| 86 |
|
bsdf = SDcacheFile(path); |
| 87 |
|
continue; |
| 89 |
– |
case 'q': |
| 88 |
|
case 'Q': /* query BSDF value */ |
| 89 |
|
if (bsdf == NULL) |
| 90 |
|
goto noBSDFerr; |
| 95 |
|
if (!SDreportError(SDevalBSDF(&val, vout, vin, bsdf), stderr)) |
| 96 |
|
printf("%.3e\n", val.cieY); |
| 97 |
|
continue; |
| 100 |
– |
case 's': |
| 98 |
|
case 'S': /* sample BSDF */ |
| 99 |
|
if (bsdf == NULL) |
| 100 |
|
goto noBSDFerr; |
| 110 |
|
printf("%.8f %.8f %.8f\n", vin[0], vin[1], vin[2]); |
| 111 |
|
} |
| 112 |
|
continue; |
| 116 |
– |
case 'h': |
| 113 |
|
case 'H': /* hemispherical totals */ |
| 118 |
– |
case 'r': |
| 114 |
|
case 'R': |
| 120 |
– |
case 't': |
| 115 |
|
case 'T': |
| 116 |
|
if (bsdf == NULL) |
| 117 |
|
goto noBSDFerr; |
| 124 |
|
vec_from_deg(vin, atof(sskip2(cp,1)), atof(sskip2(cp,2))); |
| 125 |
|
printf("%.4e\n", SDdirectHemi(vin, sflags, bsdf)); |
| 126 |
|
continue; |
| 133 |
– |
case 'a': |
| 127 |
|
case 'A': /* resolution in proj. steradians */ |
| 128 |
|
if (bsdf == NULL) |
| 129 |
|
goto noBSDFerr; |