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.56 by greg, Fri Nov 13 19:21:11 2020 UTC vs.
Revision 2.59 by greg, Wed Jul 26 15:50:03 2023 UTC

# 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 268 | Line 268 | eval_isotropic(char *funame)
268                                      uv[0] = usum / (sum+FTINY);
269                                      uv[1] = vsum / (sum+FTINY);
270                                  }
271 <                            } else
272 <                            if (rbf_colorimetry == RBCtristimulus) {
271 >                            } else if (rbf_colorimetry == RBCtristimulus) {
272                                  uv[0] = uv[1] = 1. /
273                                      (-2.*sdv.spec.cx + 12.*sdv.spec.cy + 3.);
274                                  uv[0] *= 4.*sdv.spec.cx;
# Line 306 | 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 400 | 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 470 | 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 499 | 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 519 | 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 537 | Line 536 | eval_anisotropic(char *funame)
536                                      uv[0] = usum / (sum+FTINY);
537                                      uv[1] = vsum / (sum+FTINY);
538                                  }
539 <                            } else
541 <                            if (rbf_colorimetry == RBCtristimulus) {
539 >                            } else if (rbf_colorimetry == RBCtristimulus) {
540                                  uv[0] = uv[1] = 1. /
541                                      (-2.*sdv.spec.cx + 12.*sdv.spec.cy + 3.);
542                                  uv[0] *= 4.*sdv.spec.cx;
# Line 566 | 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 767 | 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);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines