ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/cv/bsdf2klems.c
(Generate patch)

Comparing ray/src/cv/bsdf2klems.c (file contents):
Revision 2.20 by greg, Wed Feb 3 01:57:06 2016 UTC vs.
Revision 2.21 by greg, Thu Feb 4 00:45:47 2016 UTC

# Line 203 | Line 203 | eval_bsdf(const char *fname)
203                          sum += sdv.cieY;
204                          if (rbf_colorimetry == RBCtristimulus) {
205                                  c_ccvt(&sdv.spec, C_CSXY);
206 <                                xsum += sdv.cieY*sdv.spec.cx;
207 <                                ysum += sdv.cieY*sdv.spec.cy;
206 >                                xsum += sdv.cieY * sdv.spec.cx;
207 >                                ysum += sdv.cieY * sdv.spec.cy;
208                          }
209                      }
210                      fprintf(cfp[CIE_Y], "\t%.3e\n", sum/npsamps);
211                      if (rbf_colorimetry == RBCtristimulus) {
212 <                        fprintf(cfp[CIE_X], "\t%3e\n", xsum*sum/(npsamps*ysum));
213 <                        fprintf(cfp[CIE_Z], "\t%3e\n",
212 >                        fprintf(cfp[CIE_X], "\t%.3e\n", xsum*sum/(npsamps*ysum));
213 >                        fprintf(cfp[CIE_Z], "\t%.3e\n",
214                                  (sum - xsum - ysum)*sum/(npsamps*ysum));
215                      }
216                  }
# Line 253 | Line 253 | eval_bsdf(const char *fname)
253                          sum += sdv.cieY;
254                          if (rbf_colorimetry == RBCtristimulus) {
255                                  c_ccvt(&sdv.spec, C_CSXY);
256 <                                xsum += sdv.cieY*sdv.spec.cx;
257 <                                ysum += sdv.cieY*sdv.spec.cy;
256 >                                xsum += sdv.cieY * sdv.spec.cx;
257 >                                ysum += sdv.cieY * sdv.spec.cy;
258                          }
259                      }
260                      fprintf(cfp[CIE_Y], "\t%.3e\n", sum/npsamps);
261                      if (rbf_colorimetry == RBCtristimulus) {
262 <                        fprintf(cfp[CIE_X], "\t%3e\n", xsum*sum/(npsamps*ysum));
263 <                        fprintf(cfp[CIE_Z], "\t%3e\n",
262 >                        fprintf(cfp[CIE_X], "\t%.3e\n", xsum*sum/(npsamps*ysum));
263 >                        fprintf(cfp[CIE_Z], "\t%.3e\n",
264                                  (sum - xsum - ysum)*sum/(npsamps*ysum));
265                      }
266                  }
# Line 302 | Line 302 | eval_bsdf(const char *fname)
302                          sum += sdv.cieY;
303                          if (rbf_colorimetry == RBCtristimulus) {
304                                  c_ccvt(&sdv.spec, C_CSXY);
305 <                                xsum += sdv.cieY*sdv.spec.cx;
306 <                                ysum += sdv.cieY*sdv.spec.cy;
305 >                                xsum += sdv.cieY * sdv.spec.cx;
306 >                                ysum += sdv.cieY * sdv.spec.cy;
307                          }
308                      }
309                      fprintf(cfp[CIE_Y], "\t%.3e\n", sum/npsamps);
310                      if (rbf_colorimetry == RBCtristimulus) {
311 <                        fprintf(cfp[CIE_X], "\t%3e\n", xsum*sum/(npsamps*ysum));
312 <                        fprintf(cfp[CIE_Z], "\t%3e\n",
311 >                        fprintf(cfp[CIE_X], "\t%.3e\n", xsum*sum/(npsamps*ysum));
312 >                        fprintf(cfp[CIE_Z], "\t%.3e\n",
313                                  (sum - xsum - ysum)*sum/(npsamps*ysum));
314                      }
315                  }
# Line 332 | Line 332 | eval_bsdf(const char *fname)
332          if ((bsd.tb != NULL) | (bsd.tf != NULL)) {
333              input_orient = -1; output_orient = 1;
334              cfp[CIE_Y] = open_component_file(CIE_Y);
335 <            if (bsd.tb != NULL && bsd.tb->comp[0].cspec[2].flags) {
336 <                rbf_colorimetry = RBCtristimulus;
335 >            if (bsd.tb != NULL)
336 >                rbf_colorimetry = bsd.tb->comp[0].cspec[2].flags
337 >                                        ? RBCtristimulus : RBCphotopic ;
338 >            if (rbf_colorimetry == RBCtristimulus) {
339                  cfp[CIE_X] = open_component_file(CIE_X);
340                  cfp[CIE_Z] = open_component_file(CIE_Z);
341 <            } else
340 <                rbf_colorimetry = RBCphotopic;
341 >            }
342              for (j = 0; j < abp->nangles; j++) {
343                  for (i = 0; i < abp->nangles; i++) {
344                      sum = 0;            /* average over patches */
# Line 351 | Line 352 | eval_bsdf(const char *fname)
352                          sum += sdv.cieY;
353                          if (rbf_colorimetry == RBCtristimulus) {
354                                  c_ccvt(&sdv.spec, C_CSXY);
355 <                                xsum += sdv.cieY*sdv.spec.cx;
356 <                                ysum += sdv.cieY*sdv.spec.cy;
355 >                                xsum += sdv.cieY * sdv.spec.cx;
356 >                                ysum += sdv.cieY * sdv.spec.cy;
357                          }
358                      }
359                      fprintf(cfp[CIE_Y], "\t%.3e\n", sum/npsamps);
360                      if (rbf_colorimetry == RBCtristimulus) {
361 <                        fprintf(cfp[CIE_X], "\t%3e\n", xsum*sum/(npsamps*ysum));
362 <                        fprintf(cfp[CIE_Z], "\t%3e\n",
361 >                        fprintf(cfp[CIE_X], "\t%.3e\n", xsum*sum/(npsamps*ysum));
362 >                        fprintf(cfp[CIE_Z], "\t%.3e\n",
363                                  (sum - xsum - ysum)*sum/(npsamps*ysum));
364                      }
365                  }
# Line 471 | Line 472 | eval_rbf(void)
472                      sum += sdv.cieY;
473                      if (XZarr != NULL) {
474                          c_ccvt(&sdv.spec, C_CSXY);
475 <                        xsum += sdv.cieY*sdv.spec.cx;
476 <                        ysum += sdv.cieY*sdv.spec.cy;
475 >                        xsum += sdv.cieY * sdv.spec.cx;
476 >                        ysum += sdv.cieY * sdv.spec.cy;
477                      }
478                  }
479                  n = j*abp->nangles + i;
480 <                bsdfarr[n] = sum / (double)npsamps;
480 >                bsdfarr[n] = sum / npsamps;
481                  if (XZarr != NULL) {
482                      XZarr[n][0] = xsum*sum/(npsamps*ysum);
483                      XZarr[n][1] = (sum - xsum - ysum)*sum/(npsamps*ysum);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines