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.11 by greg, Fri Mar 22 02:15:06 2013 UTC vs.
Revision 2.14 by greg, Sat Mar 23 04:14:50 2013 UTC

# Line 122 | Line 122 | eval_isotropic(char *funame)
122                                                  /* run through directions */
123          for (ix = 0; ix < sqres/2; ix++) {
124                  RBFNODE *rbf = NULL;
125 <                iovec[0] = (ix+.5)/sqres - 1.;
125 >                iovec[0] = 2.*(ix+.5)/sqres - 1.;
126                  iovec[1] = .0;
127                  iovec[2] = input_orient * sqrt(1. - iovec[0]*iovec[0]);
128                  if (funame == NULL)
# Line 255 | Line 255 | main(int argc, char *argv[])
255                  case 't':
256                          switch (argv[i][2]) {
257                          case '3':
258 <                                single_plane_incident = 0;
258 >                                single_plane_incident = 1;
259                                  break;
260                          case '4':
261 <                                single_plane_incident = 1;
261 >                                single_plane_incident = 0;
262                                  break;
263                          case '\0':
264                                  pctcull = atof(argv[++i]);
# Line 276 | Line 276 | main(int argc, char *argv[])
276          if (single_plane_incident >= 0) {       /* function-based BSDF? */
277                  void    (*evf)(char *s) = single_plane_incident ?
278                                  &eval_isotropic : &eval_anisotropic;
279 <                if (i != argc-1 || fundefined(argv[i]) != 6)
279 >                if (i != argc-1 || fundefined(argv[i]) != 6) {
280 >                        fprintf(stderr,
281 >        "%s: need single function with 6 arguments: bsdf(ix,iy,iz,ox,oy,oz)\n",
282 >                                        progname);
283                          goto userr;
284 +                }
285                  xml_prologue(argc, argv);       /* start XML output */
286                  if (dofwd) {
287                          input_orient = -1;
# Line 297 | Line 301 | main(int argc, char *argv[])
301                  return(0);
302          }
303          if (i < argc) {                         /* open input files if given */
304 <                xml_prologue(argc, argv);       /* start XML output */
304 >                int     nbsdf = 0;
305                  for ( ; i < argc; i++) {        /* interpolate each component */
306                          FILE    *fpin = fopen(argv[i], "rb");
307                          if (fpin == NULL) {
# Line 308 | Line 312 | main(int argc, char *argv[])
312                          if (!load_bsdf_rep(fpin))
313                                  return(1);
314                          fclose(fpin);
315 +                        if (!nbsdf++)           /* start XML on first dist. */
316 +                                xml_prologue(argc, argv);
317                          if (single_plane_incident)
318                                  eval_isotropic(NULL);
319                          else

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines