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

Comparing ray/src/rt/ray.h (file contents):
Revision 2.39 by greg, Tue Nov 13 19:58:33 2018 UTC vs.
Revision 2.43 by greg, Mon Jun 15 15:44:03 2020 UTC

# Line 57 | Line 57 | typedef struct ray {
57          FULLXF  *rox;           /* object transformation */
58          int     *slights;       /* list of lights to test for scattering */
59          RNUMBER rno;            /* unique ray number */
60 <        int     rlvl;           /* number of reflections for this ray */
60 >        OBJECT  robj;           /* intersected object number */
61          int     rsrc;           /* source we're aiming for */
62          float   rweight;        /* cumulative weight (for termination) */
63 +        float   gecc;           /* scattering eccentricity coefficient */
64          COLOR   rcoef;          /* contribution coefficient w.r.t. parent */
65          COLOR   pcol;           /* pattern color */
66          COLOR   mcol;           /* mirrored color contribution */
67          COLOR   rcol;           /* returned radiance value */
68          COLOR   cext;           /* medium extinction coefficient */
69          COLOR   albedo;         /* medium scattering albedo */
70 <        float   gecc;           /* scattering eccentricity coefficient */
71 <        OBJECT  robj;           /* intersected object number */
70 >        short   rflips;         /* surface orientation has been reversed */
71 >        short   rlvl;           /* number of reflections for this ray */
72          short   rtype;          /* ray type */
73          short   crtype;         /* cumulative ray type */
74   }  RAY;
# Line 77 | Line 78 | typedef struct ray {
78   #define  raydistance(r) (bright((r)->mcol) > 0.5*bright((r)->rcol) ? \
79                                  (r)->rmt : (r)->rxt)
80  
81 + #define  rayreorient(r) if ((r)->rflips & 1) flipsurface(r); else
82 +
83   extern char  VersionID[];       /* Radiance version ID string */
84  
85   extern CUBE     thescene;       /* our scene */
# Line 134 | Line 137 | extern int     ambincl;        /* include == 1, exclude == 0 */
137  
138   extern int      ray_pnprocs;    /* number of child processes */
139   extern int      ray_pnidle;     /* number of idle processes */
140 + extern int      ray_pnbatch;    /* throughput over responsiveness? */
141  
142   #ifndef AMBLLEN
143   #define AMBLLEN         512     /* max. ambient list length */
# Line 221 | Line 225 | extern void    raytrace(RAY *r);
225   extern void     rayhit(OBJECT *oset, RAY *r);
226   extern void     raycont(RAY *r);
227   extern void     raytrans(RAY *r);
228 + extern int      raytirrad(OBJREC *m, RAY *r);
229   extern int      rayshade(RAY *r, int mod);
230   extern void     rayparticipate(RAY *r);
231   extern void     raytexture(RAY *r, OBJECT mod);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines