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

Comparing ray/src/util/rfluxmtx.c (file contents):
Revision 2.17 by greg, Tue Aug 26 18:56:19 2014 UTC vs.
Revision 2.21 by greg, Wed Feb 18 05:56:12 2015 UTC

# Line 362 | Line 362 | parse_params(PARAMS *p, char *pargs)
362                  case ' ':
363                  case '\t':
364                  case '\r':
365                        continue;
365                  case '\n':
366 +                        continue;
367                  case '\0':
368                          return(nparams);
369                  default:
# Line 417 | Line 417 | finish_receiver(void)
417          }
418                                          /* determine sample type/bin */
419          if (tolower(curparams.hemis[0]) == 'u' | curparams.hemis[0] == '1') {
420 <                binv = "0";             /* uniform sampling -- one bin */
420 >                sprintf(sbuf, "if(-Dx*%g-Dy*%g-Dz*%g,0,-1)",
421 >                        curparams.nrm[0], curparams.nrm[1], curparams.nrm[2]);
422 >                binv = savqstr(sbuf);
423 >                nbins = "1";            /* uniform sampling -- one bin */
424                  uniform = 1;
425          } else if (tolower(curparams.hemis[0]) == 's' &&
426                                  tolower(curparams.hemis[1]) == 'c') {
# Line 516 | Line 519 | make_axes(FVECT uva[2], const FVECT nrm)
519   {
520          int     i;
521  
522 <        uva[1][0] = 0.5 - frandom();
520 <        uva[1][1] = 0.5 - frandom();
521 <        uva[1][2] = 0.5 - frandom();
522 <        for (i = 3; i--; )
523 <                if ((-0.6 < nrm[i]) & (nrm[i] < 0.6))
524 <                        break;
525 <        if (i < 0) {
522 >        if (!getperpendicular(uva[0], nrm)) {
523                  fputs(progname, stderr);
524                  fputs(": bad surface normal in make_axes!\n", stderr);
525                  exit(1);
526          }
527 <        uva[1][i] = 1.0;
531 <        VCROSS(uva[0], uva[1], nrm);
532 <        normalize(uva[0]);
533 <        VCROSS(uva[1], nrm, uva[0]);
527 >        fcross(uva[1], nrm, uva[0]);
528   }
529  
530   /* Illegal sender surfaces end up here */
# Line 792 | Line 786 | sample_reinhart(PARAMS *p, int b, FILE *fp)
786                  alt = (row+samp3[1])*RAH;
787                  azi = (2.*PI)*(col+samp3[2]-.5)/rnaz(row);
788                  duvw[2] = cos(alt);     /* measured from horizon */
789 <                duvw[0] = tcos(azi)*duvw[2];
790 <                duvw[1] = tsin(azi)*duvw[2];
789 >                duvw[0] = tsin(azi)*duvw[2];
790 >                duvw[1] = tcos(azi)*duvw[2];
791                  duvw[2] = sqrt(1. - duvw[2]*duvw[2]);
792                  for (i = 3; i--; )
793                          orig_dir[1][i] = -duvw[0]*p->udir[i] -

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines