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

Comparing ray/src/cv/bsdfrep.h (file contents):
Revision 2.4 by greg, Tue Oct 23 21:09:29 2012 UTC vs.
Revision 2.8 by greg, Thu Sep 26 17:05:00 2013 UTC

# Line 57 | Line 57 | typedef struct s_rbfnode {
57   #define INP_QUAD3       4               /* 180-270 degree quadrant */
58   #define INP_QUAD4       8               /* 270-360 degree quadrant */
59  
60 +                                /* active grid resolution */
61 + extern int              grid_res;
62                                  /* coverage/symmetry using INP_QUAD? flags */
63   extern int              inp_coverage;
64  
# Line 67 | Line 69 | extern int             single_plane_incident;
69   extern int              input_orient;
70   extern int              output_orient;
71  
72 +                                /* log BSDF histogram */
73 + #define HISTLEN         256
74 + #define BSDF2BIG        (1./M_PI)
75 + #define BSDF2SML        1e-8
76 + #define HISTLNR         17.2759509              /* log(BSDF2BIG/BSDF2SML) */
77 + extern int              bsdf_hist[HISTLEN];
78 + #define histndx(v)      (int)(log((v)*(1./BSDF2SML))*(HISTLEN/HISTLNR))
79 + #define histval(i)      (exp(((i)+.5)*(HISTLNR/HISTLEN))*BSDF2SML)
80 +
81 +                                /* BSDF value for boundary regions */
82 + extern double           bsdf_min;
83 +
84                                  /* processed incident DSF measurements */
85   extern RBFNODE          *dsf_list;
86  
# Line 112 | Line 126 | extern void            rev_symmetry(FVECT vec, int sym);
126   /* Reverse symmetry for an RBF distribution */
127   extern void             rev_rbf_symmetry(RBFNODE *rbf, int sym);
128  
129 + /* Rotate RBF to correspond to given incident vector */
130 + extern void             rotate_rbf(RBFNODE *rbf, const FVECT invec);
131 +
132   /* Compute volume associated with Gaussian lobe */
133   extern double           rbf_volume(const RBFVAL *rbfp);
134  
# Line 167 | Line 184 | extern void            build_mesh(void);
184   extern int              get_interp(MIGRATION *miga[3], FVECT invec);
185  
186   /* Partially advect between recorded incident angles and allocate new RBF */
187 < extern RBFNODE *        advect_rbf(const FVECT invec);
187 > extern RBFNODE *        advect_rbf(const FVECT invec, int lobe_lim);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines