| 38 |
|
static void |
| 39 |
|
prog_show(double frac) |
| 40 |
|
{ |
| 41 |
< |
char pbar[256]; |
| 42 |
< |
int nchars; |
| 41 |
> |
static unsigned call_cnt = 0; |
| 42 |
> |
static char lastc[] = "-\\|/"; |
| 43 |
> |
char pbar[256]; |
| 44 |
> |
int nchars; |
| 45 |
|
|
| 46 |
|
if (do_prog <= 1) return; |
| 47 |
|
if (do_prog > sizeof(pbar)-2) |
| 48 |
|
do_prog = sizeof(pbar)-2; |
| 49 |
|
if (frac < 0) frac = 0; |
| 50 |
< |
else if (frac > 1) frac = 1; |
| 51 |
< |
nchars = do_prog*frac + .5; |
| 50 |
> |
else if (frac >= 1) frac = .9999; |
| 51 |
> |
nchars = do_prog*frac; |
| 52 |
|
pbar[0] = '\r'; |
| 53 |
|
memset(pbar+1, '*', nchars); |
| 54 |
< |
memset(pbar+1+nchars, '-', do_prog-nchars); |
| 54 |
> |
pbar[nchars+1] = lastc[call_cnt++ & 3]; |
| 55 |
> |
memset(pbar+2+nchars, '-', do_prog-nchars-1); |
| 56 |
|
pbar[do_prog+1] = '\0'; |
| 57 |
|
fputs(pbar, stderr); |
| 58 |
|
} |
| 207 |
|
double sum; |
| 208 |
|
int i, j, n; |
| 209 |
|
|
| 210 |
+ |
initurand(npsamps); |
| 211 |
|
SDclearBSDF(&bsd, fname); /* load BSDF file */ |
| 212 |
|
if ((ec = SDloadFile(&bsd, fname)) != SDEnone) |
| 213 |
|
goto err; |
| 380 |
|
|
| 381 |
|
sum += eval_rbfrep(rbf, vout); |
| 382 |
|
} |
| 383 |
< |
fo_getvec(vout, j+.5, abp); /* use centered secant */ |
| 380 |
< |
bsdfarr[j*abp->nangles + i] = sum / (npsamps*vout[2]); |
| 383 |
> |
bsdfarr[j*abp->nangles + i] = sum / (double)npsamps; |
| 384 |
|
} |
| 385 |
|
if (rbf != NULL) |
| 386 |
|
free(rbf); |