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

Comparing ray/src/common/bsdf_t.h (file contents):
Revision 3.2 by greg, Fri Feb 18 00:41:44 2011 UTC vs.
Revision 3.8 by greg, Fri Jun 3 18:12:58 2011 UTC

# Line 2 | Line 2
2   /*
3   *  bsdf_t.h
4   *  
5 < *  Support for variable-resolution BSDF trees
5 > *  Support for variable-resolution BSDF trees.
6 > *  Assumes "bsdf.h" already included.
7 > *  Include after "ezxml.h" for SDloadTre() declaration.
8   *
9   *  Created by Greg Ward on 2/2/11.
10   *
# Line 27 | Line 29 | typedef struct SDNode_s {
29          } u;                    /* subtrees or values (extends struct) */
30   } SDNode;
31  
32 + #define SD_UFRONT       0x1     /* flag for BSDF uses front side */
33 + #define SD_UBACK        0x2     /* flag for BSDF uses back side */
34 + #define SD_XMIT         0x3     /* combine the two for transmission */
35 +
36 + /* Variable-resolution BSDF holder */
37 + typedef struct {
38 +        int     sidef;          /* transmitted component? */
39 +        SDNode  *st;            /* BSDF tree */
40 + } SDTre;
41 +
42 + /* Holder for cumulative distribution (sum of BSDF * projSA) */
43 + typedef struct {
44 +        SD_CDIST_BASE;          /* base fields; must come first */
45 +        double  clim[2][2];     /* input coordinate limits */
46 +        double  max_psa;        /* maximum projected solid angle */
47 +        short   sidef;          /* which side(s) to use */
48 +        short   isodist;        /* isotropic distribution? */
49 +        int     calen;          /* cumulative array length */
50 +        struct {
51 +                unsigned        hndx;   /* hilbert index */
52 +                unsigned        cuml;   /* cumulative value */
53 +        }               carr[1];        /* cumulative array (extends struct) */
54 + } SDTreCDst;    
55 +
56 + #ifdef _EZXML_H
57   /* Load a variable-resolution BSDF tree from an open XML file */
58 < extern SDError          SDloadTre(SDData *sd, ezxml_t fl);
58 > extern SDError          SDloadTre(SDData *sd, ezxml_t wtl);
59 > #endif
60  
61   /* Our matrix handling routines */
62 < extern const SDFunc     SDhandleTre;
62 > extern SDFunc   SDhandleTre;
63  
64   #ifdef __cplusplus
65   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines