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

Comparing ray/src/cv/bsdf2klems.c (file contents):
Revision 2.9 by greg, Sun Aug 11 14:32:34 2013 UTC vs.
Revision 2.11 by greg, Sat Nov 9 05:47:49 2013 UTC

# Line 25 | Line 25 | char                   *progname;
25   static const char       *kbasis = "LBNL/Klems Full";
26                                  /* number of BSDF samples per patch */
27   static int              npsamps = 256;
28 +                                /* limit on number of RBF lobes */
29 + static int              lobe_lim = 15000;
30  
31   /* Return angle basis corresponding to the given name */
32   ANGLE_BASIS *
# Line 56 | Line 58 | xml_header(int ac, char *av[])
58   static void
59   xml_prologue(const SDData *sd)
60   {
61 <        const char      *matn = (sd && sd->matn[0]) ? sd->matn : "Name";
62 <        const char      *makr = (sd && sd->makr[0]) ? sd->makr : "Manufacturer";
61 >        const char      *matn = (sd && sd->matn[0]) ? sd->matn :
62 >                                bsdf_name[0] ? bsdf_name : "Unknown";
63 >        const char      *makr = (sd && sd->makr[0]) ? sd->makr :
64 >                                bsdf_manuf[0] ? bsdf_manuf : "Unknown";
65          ANGLE_BASIS     *abp = get_basis(kbasis);
66          int             i;
67  
# Line 319 | Line 323 | eval_rbf(void)
323              else
324                  bi_getvec(vin, i+.5*(i>0), abp);
325  
326 <            rbf = advect_rbf(vin);              /* compute radial basis func */
326 >            rbf = advect_rbf(vin, lobe_lim);    /* compute radial basis func */
327  
328              for (j = 0; j < abp->nangles; j++) {
329                  sum = 0;                        /* sample over exiting patch */
# Line 385 | Line 389 | main(int argc, char *argv[])
389                  case 'q':
390                          kbasis = "LBNL/Klems Quarter";
391                          break;
392 +                case 'l':
393 +                        lobe_lim = atoi(argv[++i]);
394 +                        break;
395                  default:
396                          goto userr;
397                  }
# Line 456 | Line 463 | main(int argc, char *argv[])
463          return(0);
464   userr:
465          fprintf(stderr,
466 <        "Usage: %s [-n spp][-h|-q][bsdf.sir ..] > bsdf.xml\n", progname);
466 >        "Usage: %s [-n spp][-h|-q][-l maxlobes] [bsdf.sir ..] > bsdf.xml\n", progname);
467          fprintf(stderr,
468          "   or: %s [-n spp][-h|-q] bsdf_in.xml > bsdf_out.xml\n", progname);
469          fprintf(stderr,

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines