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

Comparing ray/src/cv/bsdf2ttree.c (file contents):
Revision 2.57 by greg, Mon Mar 29 17:40:21 2021 UTC vs.
Revision 2.61 by greg, Fri Feb 23 03:47:57 2024 UTC

# Line 20 | Line 20 | static const char RCSid[] = "$Id$";
20                                  /* global argv[0] */
21   char                    *progname;
22                                  /* reciprocity averaging option */
23 < static const char       *recip = " -a";
23 > static const char       *recip = "";
24                                  /* percentage to cull (<0 to turn off) */
25   static double           pctcull = 90.;
26                                  /* sampling order */
# Line 135 | Line 135 | eval_isotropic(char *funame)
135          int             assignD = 0;
136          char            cmd[128];
137          int             ix, ox, oy;
138 <        double          iovec[6];
138 >        RREAL           iovec[6];
139          float           bsdf, uv[2];
140  
141          if (pctcull >= 0) {
# Line 208 | Line 208 | eval_isotropic(char *funame)
208                          rbf = advect_rbf(iovec, lobe_lim);
209                                                  /* presample first row */
210                  for (oy = 0; oy < sqres; oy++) {
211 <                    SDsquare2disk(iovec+3, .5*sqfact, (oy+.5)*sqfact);
211 >                    square2disk(iovec+3, .5*sqfact, (oy+.5)*sqfact);
212                      iovec[5] = output_orient *
213                                  sqrt(1. - iovec[3]*iovec[3] - iovec[4]*iovec[4]);
214                      if (funame == NULL) {
# Line 230 | Line 230 | eval_isotropic(char *funame)
230                       */
231                      for (oy = 0; oy < sqres; oy++) {
232                          if (ox < sqres-1) {     /* keeping one row ahead... */
233 <                            SDsquare2disk(iovec+3, (ox+1.5)*sqfact, (oy+.5)*sqfact);
233 >                            square2disk(iovec+3, (ox+1.5)*sqfact, (oy+.5)*sqfact);
234                              iovec[5] = output_orient *
235                                  sqrt(1. - iovec[3]*iovec[3] - iovec[4]*iovec[4]);
236                          }
# Line 250 | Line 250 | eval_isotropic(char *funame)
250                                  for (ssi = nssamp; ssi--; ) {
251                                      SDmultiSamp(ssa, 2, (ssi+frandom()) /
252                                                          (double)nssamp);
253 <                                    SDsquare2disk(iovec+3, (ox+ssa[0])*sqfact,
253 >                                    square2disk(iovec+3, (ox+ssa[0])*sqfact,
254                                                          (oy+ssa[1])*sqfact);
255                                      iovec[5] = output_orient *
256                                          sqrt(1. - iovec[3]*iovec[3] - iovec[4]*iovec[4]);
# Line 305 | Line 305 | eval_isotropic(char *funame)
305                                          ssvec[2] = 1. - ssvec[0]*ssvec[0];
306                                      }
307                                      ssvec[2] = input_orient * sqrt(ssvec[2]);
308 <                                    SDsquare2disk(ssvec+3, (ox+ssa[2])*sqfact,
308 >                                    square2disk(ssvec+3, (ox+ssa[2])*sqfact,
309                                                  (oy+ssa[3])*sqfact);
310                                      ssvec[5] = output_orient *
311                                                  sqrt(1. - ssvec[3]*ssvec[3] -
# Line 399 | Line 399 | eval_anisotropic(char *funame)
399          int             assignD = 0;
400          char            cmd[128];
401          int             ix, iy, ox, oy;
402 <        double          iovec[6];
402 >        RREAL           iovec[6];
403          float           bsdf, uv[2];
404  
405          if (pctcull >= 0) {
# Line 469 | Line 469 | eval_anisotropic(char *funame)
469          for (ix = 0; ix < sqres; ix++)
470              for (iy = 0; iy < sqres; iy++) {
471                  RBFNODE *rbf = NULL;            /* Klems reversal */
472 <                SDsquare2disk(iovec, 1.-(ix+.5)*sqfact, 1.-(iy+.5)*sqfact);
472 >                square2disk(iovec, 1.-(ix+.5)*sqfact, 1.-(iy+.5)*sqfact);
473                  iovec[2] = input_orient *
474                                  sqrt(1. - iovec[0]*iovec[0] - iovec[1]*iovec[1]);
475                  if (funame == NULL)
476                          rbf = advect_rbf(iovec, lobe_lim);
477                                                  /* presample first row */
478                  for (oy = 0; oy < sqres; oy++) {
479 <                    SDsquare2disk(iovec+3, .5*sqfact, (oy+.5)*sqfact);
479 >                    square2disk(iovec+3, .5*sqfact, (oy+.5)*sqfact);
480                      iovec[5] = output_orient *
481                                  sqrt(1. - iovec[3]*iovec[3] - iovec[4]*iovec[4]);
482                      if (funame == NULL) {
# Line 498 | Line 498 | eval_anisotropic(char *funame)
498                       */
499                      for (oy = 0; oy < sqres; oy++) {
500                          if (ox < sqres-1) {     /* keeping one row ahead... */
501 <                            SDsquare2disk(iovec+3, (ox+1.5)*sqfact, (oy+.5)*sqfact);
501 >                            square2disk(iovec+3, (ox+1.5)*sqfact, (oy+.5)*sqfact);
502                              iovec[5] = output_orient *
503                                  sqrt(1. - iovec[3]*iovec[3] - iovec[4]*iovec[4]);
504                          }
# Line 518 | Line 518 | eval_anisotropic(char *funame)
518                                  for (ssi = nssamp; ssi--; ) {
519                                      SDmultiSamp(ssa, 2, (ssi+frandom()) /
520                                                          (double)nssamp);
521 <                                    SDsquare2disk(iovec+3, (ox+ssa[0])*sqfact,
521 >                                    square2disk(iovec+3, (ox+ssa[0])*sqfact,
522                                                          (oy+ssa[1])*sqfact);
523                                      iovec[5] = output_orient *
524                                          sqrt(1. - iovec[3]*iovec[3] - iovec[4]*iovec[4]);
# Line 564 | Line 564 | eval_anisotropic(char *funame)
564                                  for (ssi = nssamp; ssi--; ) {
565                                      SDmultiSamp(ssa, 4, (ssi+frandom()) /
566                                                          (double)nssamp);
567 <                                    SDsquare2disk(ssvec, 1.-(ix+ssa[0])*sqfact,
567 >                                    square2disk(ssvec, 1.-(ix+ssa[0])*sqfact,
568                                                  1.-(iy+ssa[1])*sqfact);
569                                      ssvec[2] = input_orient *
570                                                  sqrt(1. - ssvec[0]*ssvec[0] -
571                                                          ssvec[1]*ssvec[1]);
572 <                                    SDsquare2disk(ssvec+3, (ox+ssa[2])*sqfact,
572 >                                    square2disk(ssvec+3, (ox+ssa[2])*sqfact,
573                                                  (oy+ssa[3])*sqfact);
574                                      ssvec[5] = output_orient *
575                                                  sqrt(1. - ssvec[3]*ssvec[3] -
# Line 765 | Line 765 | main(int argc, char *argv[])
765                                  single_plane_incident = 0;
766                          break;
767                  case 'f':
768 <                        if (!argv[i][2]) {
768 >                        if ((argv[i][0] == '-') & !argv[i][2]) {
769                                  if (strchr(argv[++i], '=') != NULL) {
770                                          add_wbsdf("-f", 1);
771                                          add_wbsdf(argv[i], 1);
# Line 878 | Line 878 | main(int argc, char *argv[])
878                          fprintf(stderr, "\tor 3 arguments using Dx,Dy,Dz: bsdf(ix,iy,iz)\n");
879                          goto userr;
880                  }
881 +                doptimize(1);                   /* optimize definitions */
882                  ++eclock;
883                  add_wbsdf("-a", 1);
884                  add_wbsdf(tfmt[single_plane_incident], 1);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines