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

Comparing ray/src/common/bsdf.h (file contents):
Revision 2.26 by greg, Fri Jan 5 21:00:24 2018 UTC vs.
Revision 2.30 by greg, Mon Dec 13 21:05:00 2021 UTC

# Line 86 | Line 86 | typedef struct SDComp_s        SDComponent;
86   /* Methods needed to handle BSDF components (nothing is optional) */
87   typedef struct {
88                                          /* return non-diffuse BSDF */
89 <        int             (*getBSDFs)(float coef[SDmaxCh], const FVECT outVec,
90 <                                    const FVECT inVec, SDComponent *sdc);
89 >        int             (*getBSDFs)(float coef[SDmaxCh], const FVECT inVec,
90 >                                    const FVECT outVec, SDComponent *sdc);
91                                          /* query non-diffuse PSA for vector */
92          SDError         (*queryProjSA)(double *psa, const FVECT v1,
93                                                  const RREAL *v2, int qflags,
# Line 126 | Line 126 | typedef struct {
126          double          dim[3];         /* width, height, thickness (meters) */
127          SDValue         rLambFront;     /* diffuse front reflectance */
128          SDValue         rLambBack;      /* diffuse rear reflectance */
129 <        SDValue         tLamb;          /* diffuse transmission */
129 >        SDValue         tLambFront;     /* diffuse front transmittance */
130 >        SDValue         tLambBack;      /* diffuse back transmittance */
131          SDSpectralDF    *rf, *rb;       /* non-diffuse BRDF components */
132          SDSpectralDF    *tf, *tb;       /* non-diffuse BTDF components */
133   } SDData;
# Line 145 | Line 146 | extern struct SDCache_s {
146   #define SDretainAll     2               /* also keep cumulative cache data */
147  
148   extern int              SDretainSet;    /* =SDretainNone by default */
149 + extern unsigned long    SDmaxCache;     /* =0 (unlimited) by default */
150  
151   /*****************************************************************
152   * The following routines are less commonly used by applications.
# Line 189 | Line 191 | extern SDError         SDsampComponent(SDValue *sv, FVECT ioV
191   /* Convert 1-dimensional random variable to N-dimensional */
192   extern void             SDmultiSamp(double t[], int n, double randX);
193  
192 /* Map a [0,1]^2 square to a unit radius disk */
193 extern void             SDsquare2disk(double ds[2], double seedx, double seedy);
194
195 /* Map point on unit disk to a unit square in [0,1]^2 range */
196 extern void             SDdisk2square(double sq[2], double diskx, double disky);
197
194   /*****************************************************************
195   * The calls below are the ones most applications require.
196   * All directions are assumed to be unit vectors.
# Line 213 | Line 209 | extern SDError         SDsizeBSDF(double *projSA, const FVECT
209                                          const SDData *sd);
210  
211   /* Return BSDF for the given incident and scattered ray vectors */
212 < extern SDError          SDevalBSDF(SDValue *sv, const FVECT outVec,
213 <                                        const FVECT inVec, const SDData *sd);
212 > extern SDError          SDevalBSDF(SDValue *sv, const FVECT inVec,
213 >                                        const FVECT outVec, const SDData *sd);
214  
215   /* Compute directional hemispherical scattering at given incident angle */
216   extern double           SDdirectHemi(const FVECT inVec,

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines