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

Comparing ray/src/hd/rhd_sample.h (file contents):
Revision 3.5 by gwlarson, Sun Jan 10 10:27:45 1999 UTC vs.
Revision 3.6 by gwlarson, Mon Jun 7 13:23:48 1999 UTC

# Line 20 | Line 20
20   #define INVALID  -1
21   #endif
22  
23 +
24   typedef struct samp {
25          float           (*wp)[3];       /* world intersection point array */
26          int4            *wd;            /* world direction array */
# Line 28 | Line 29 | typedef struct samp {
29   #endif
30          BYTE            (*chr)[3];      /* encoded chrominance array */
31          BYTE            (*rgb)[3];      /* tone-mapped color array */
32 +        int             *info;          /* Extra sample info */
33 +        int             *info1;          /* Extra sample info */
34          int             max_samp;       /* maximum number of samples */
35          int             max_base_pt;     /* maximum number of aux points */
36          int             next_base_pt;    /* next auxilliary point to add */
37          int             replace_samp;   /* next sample to free  */
38          int             num_samp;       /* current number of samples */
39          int             tone_map;       /* pointer to next value(s)t tonemap*/
40 <        int             free_samp;      /* Available sample */
40 >        int             free_samp;      /* free sample-not available yet */
41          char            *base;          /* base of allocated memory */
42   } SAMP;
43  
# Line 44 | Line 47 | typedef struct samp {
47   #define S_BRT(s)                ((s)->brt)
48   #define S_CHR(s)                ((s)->chr)
49   #define S_RGB(s)                ((s)->rgb)
50 + #define S_INFO(s)               ((s)->info)
51 + #define S_INFO1(s)               ((s)->info1)
52   #define S_MAX_SAMP(s)           ((s)->max_samp)
53   #define S_MAX_BASE_PT(s)        ((s)->max_base_pt)
54   #define S_NEXT_BASE_PT(s)       ((s)->next_base_pt)
55   #define S_REPLACE_SAMP(s)       ((s)->replace_samp)
56   #define S_NUM_SAMP(s)           ((s)->num_samp)
57   #define S_TONE_MAP(s)           ((s)->tone_map)
58 < #define S_FREE_SAMP(s)           ((s)->free_samp)
58 > #define S_FREE_SAMP(s)          ((s)->free_samp)
59   #define S_BASE(s)               ((s)->base)
60  
61   #define S_MAX_POINTS(s)         ((s)->max_base_pt)
# Line 58 | Line 63 | typedef struct samp {
63   #define S_NTH_W_DIR(s,n)        (S_W_DIR(s)[(n)])
64   #define S_NTH_RGB(s,n)          (S_RGB(s)[(n)])
65   #define S_NTH_CHR(s,n)          (S_CHR(s)[(n)])
66 < #ifndef HP_VERSION
66 > #define S_NTH_INFO(s,n)         (S_INFO(s)[(n)])
67 > #define S_NTH_INFO1(s,n)         (S_INFO1(s)[(n)])
68   #define S_NTH_BRT(s,n)          (S_BRT(s)[(n)])
69 < #endif
69 >
70   /* Sample Flag macros */
71   #define S_IS_FLAG(s)            IS_FLAG(samp_flag,s)
72   #define S_SET_FLAG(s)           SET_FLAG(samp_flag,s)
73   #define S_CLR_FLAG(s)           CLR_FLAG(samp_flag,s)
74  
75   #define S_NTH_NEXT(s,n)         S_NTH_W_DIR(s,n)
76 < #define sUnalloc_samp(s,n) (S_NTH_NEXT(s,n) = S_FREE_SAMP(s),S_FREE_SAMP(s)=n)
76 > #define sUnalloc_samp(s,n) (S_NTH_NEXT(s,n)=S_FREE_SAMP(s),S_FREE_SAMP(s)=n)
77   #define sClear_base_points(s)  (S_NEXT_BASE_PT(s) = S_MAX_SAMP(s))
78   #define sClear(s)      sInit(s)
79 < /* Max allowed angle of sample dir from current view */
80 < #define MAXANG          20
81 < #define MAXDIFF2        ( MAXANG*MAXANG * (PI*PI/180./180.))
79 > /* MAXDIFF2 Max allowed cos angle squared of sample dir from current view */
80 > /* In terms of cos: if angle is 30: MAXDIFF2 = cos(30)^2, if difference
81 >  is greater than this point not accepted on rebuild
82 >  */
83 > #define MAXDIFF2        0.75
84 > /* Max difference in direction for points at infinity: if over 45degrees
85 >  not accepted on rebuild cos(45)
86 >  */
87 > #define MAXDIR           0.70710678        
88   #define MAXQUALITY      10000   /* Maximum quality for rendering rep */
89  
90   extern  SAMP rsL;                      

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines