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.6 by greg, Fri Nov 9 02:25:32 2012 UTC vs.
Revision 2.10 by greg, Wed Dec 12 04:49:59 2012 UTC

# Line 16 | Line 16 | static const char RCSid[] = "$Id$";
16                                  /* global argv[0] */
17   char                    *progname;
18                                  /* percentage to cull (<0 to turn off) */
19 < int                     pctcull = 90;
19 > double                  pctcull = 90.;
20                                  /* sampling order */
21   int                     samp_order = 6;
22  
# Line 32 | Line 32 | interp_isotropic()
32          float           bsdf;
33   #if DEBUG
34          fprintf(stderr, "Writing isotropic order %d ", samp_order);
35 <        if (pctcull >= 0) fprintf(stderr, "data with %d%% culling\n", pctcull);
35 >        if (pctcull >= 0) fprintf(stderr, "data with %.1f%% culling\n", pctcull);
36          else fputs("raw data\n", stderr);
37   #endif
38          if (pctcull >= 0) {                     /* begin output */
39 <                sprintf(cmd, "rttree_reduce -h -a -ff -r 3 -t %d -g %d",
39 >                sprintf(cmd, "rttree_reduce -h -a -ff -r 3 -t %f -g %d",
40                                  pctcull, samp_order);
41                  fflush(stdout);
42                  ofp = popen(cmd, "w");
# Line 94 | Line 94 | interp_anisotropic()
94          float           bsdf;
95   #if DEBUG
96          fprintf(stderr, "Writing anisotropic order %d ", samp_order);
97 <        if (pctcull >= 0) fprintf(stderr, "data with %d%% culling\n", pctcull);
97 >        if (pctcull >= 0) fprintf(stderr, "data with %.1f%% culling\n", pctcull);
98          else fputs("raw data\n", stderr);
99   #endif
100          if (pctcull >= 0) {                     /* begin output */
101 <                sprintf(cmd, "rttree_reduce -h -a -ff -r 4 -t %d -g %d",
101 >                sprintf(cmd, "rttree_reduce -h -a -ff -r 4 -t %f -g %d",
102                                  pctcull, samp_order);
103                  fflush(stdout);
104                  ofp = popen(cmd, "w");
# Line 112 | Line 112 | interp_anisotropic()
112                                                  /* run through directions */
113          for (ix = 0; ix < sqres; ix++)
114              for (iy = 0; iy < sqres; iy++) {
115 <                RBFNODE *rbf;
115 >                RBFNODE *rbf;                   /* Klems reversal */
116                  SDsquare2disk(ivec, (ix+.5)/sqres, (iy+.5)/sqres);
117 +                ivec[0] = -ivec[0]; ivec[1] = -ivec[1];
118                  ivec[2] = input_orient *
119                                  sqrt(1. - ivec[0]*ivec[0] - ivec[1]*ivec[1]);
120                  rbf = advect_rbf(ivec);
# Line 146 | Line 147 | static void
147   xml_prologue(int ac, char *av[])
148   {
149          static const char       *bsdf_type[4] = {
150 <                                        "Reflection Back",
150 <                                        "Transmission Back",
150 >                                        "Reflection Front",
151                                          "Transmission Front",
152 <                                        "Reflection Front"
152 >                                        "Transmission Back",
153 >                                        "Reflection Back"
154                                  };
155  
156          puts("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
# Line 180 | Line 181 | xml_prologue(int ac, char *av[])
181          puts("\t\t<DetectorSpectrum>ASTM E308 1931 Y.dsp</DetectorSpectrum>");
182          puts("\t\t<WavelengthDataBlock>");
183          printf("\t\t\t<WavelengthDataDirection>%s</WavelengthDataDirection>\n",
184 <                bsdf_type[(input_orient>0)<<1 | (output_orient>0)]);
184 >                        bsdf_type[(input_orient>0)<<1 | (output_orient>0)]);
185          puts("\t\t\t<AngleBasis>LBNL/Shirley-Chiu</AngleBasis>");
186          puts("\t\t\t<ScatteringDataType>BTDF</ScatteringDataType>");
187          puts("\t\t\t<ScatteringData>");
# Line 209 | Line 210 | main(int argc, char *argv[])
210          for (i = 1; i < argc-1 && argv[i][0] == '-'; i++)
211                  switch (argv[i][1]) {           /* get option */
212                  case 't':
213 <                        pctcull = atoi(argv[++i]);
213 >                        pctcull = atof(argv[++i]);
214                          break;
215                  case 'g':
216                          samp_order = atoi(argv[++i]);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines