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.7 by greg, Wed Apr 27 20:03:25 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 +        int     sidef;          /* which side(s) to use */
48 +        int     calen;          /* cumulative array length */
49 +        struct {
50 +                unsigned        hndx;   /* hilbert index */
51 +                unsigned        cuml;   /* cumulative value */
52 +        }               carr[1];        /* cumulative array (extends struct) */
53 + } SDTreCDst;    
54 +
55 + #ifdef _EZXML_H
56   /* Load a variable-resolution BSDF tree from an open XML file */
57 < extern SDError          SDloadTre(SDData *sd, ezxml_t fl);
57 > extern SDError          SDloadTre(SDData *sd, ezxml_t wtl);
58 > #endif
59  
60   /* Our matrix handling routines */
61 < extern const SDFunc     SDhandleTre;
61 > extern SDFunc   SDhandleTre;
62  
63   #ifdef __cplusplus
64   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines