--- ray/src/cv/bsdf2klems.c 2014/03/12 21:15:31 2.13 +++ ray/src/cv/bsdf2klems.c 2014/08/21 10:33:48 2.15 @@ -1,5 +1,5 @@ #ifndef lint -static const char RCSid[] = "$Id: bsdf2klems.c,v 2.13 2014/03/12 21:15:31 greg Exp $"; +static const char RCSid[] = "$Id: bsdf2klems.c,v 2.15 2014/08/21 10:33:48 greg Exp $"; #endif /* * Load measured BSDF interpolant and write out as XML file with Klems matrix. @@ -41,7 +41,7 @@ prog_show(double frac) char pbar[256]; int nchars; - if (do_prog <= 0) return; + if (do_prog <= 1) return; if (do_prog > sizeof(pbar)-2) do_prog = sizeof(pbar)-2; if (frac < 0) frac = 0; @@ -55,8 +55,18 @@ prog_show(double frac) } /* Finish progress bar */ -#define prog_done() if (do_prog) fputc('\n',stderr); else +static void +prog_done(void) +{ + int n = do_prog; + if (n <= 1) return; + fputc('\r', stderr); + while (n--) + fputc(' ', stderr); + fputc('\r', stderr); +} + /* Return angle basis corresponding to the given name */ static ANGLE_BASIS * get_basis(const char *bn) @@ -367,7 +377,7 @@ eval_rbf(void) sum += eval_rbfrep(rbf, vout); } fo_getvec(vout, j+.5, abp); /* use centered secant */ - bsdfarr[j*abp->nangles + i] = sum / (npsamps*vout[2]); + bsdfarr[j*abp->nangles + i] = sum / (double)npsamps; } if (rbf != NULL) free(rbf);