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.2 by greg, Sat Jan 4 19:53:55 1992 UTC vs.
Revision 2.11 by greg, Fri Mar 7 16:53:02 1997 UTC

# Line 1 | Line 1
1 < /* Copyright (c) 1992 Regents of the University of California */
1 > /* Copyright (c) 1995 Regents of the University of California */
2  
3   /* SCCSid "$SunId$ LBL" */
4  
# Line 14 | Line 14
14  
15   #include  "color.h"
16  
17 + #define  MAXDIM         32      /* maximum number of dimensions */
18 +
19                                  /* ray type flags */
20   #define  PRIMARY        01              /* original ray */
21   #define  SHADOW         02              /* ray to light source */
# Line 27 | Line 29
29   #define  RAYREFL        (SHADOW|REFLECTED|AMBIENT|SPECULAR)
30  
31   typedef struct ray {
32 <        long  rno;              /* unique ray number */
32 >        unsigned long  rno;     /* unique ray number */
33          int  rlvl;              /* number of reflections for this ray */
34          float  rweight;         /* cumulative weight of this ray */
35          short  rtype;           /* ray type */
# Line 35 | Line 37 | typedef struct ray {
37          struct ray  *parent;    /* ray this originated from */
38          FVECT  rorg;            /* origin of ray */
39          FVECT  rdir;            /* normalized direction of ray */
40 +        double  rmax;           /* maximum distance (aft clipping plane) */
41          int  rsrc;              /* source we're aiming for */
42          OBJECT  *clipset;       /* set of objects currently clipped */
43          OBJECT  *newcset;       /* next clipset, used for transmission */
44          int  (*revf)();         /* evaluation function for this ray */
45 <        OBJREC  *ro;            /* intersected object */
45 >        OBJECT  robj;           /* intersected object number */
46 >        OBJREC  *ro;            /* intersected object (one with material) */
47          double  rot;            /* distance to object */
48          FVECT  rop;             /* intersection point */
49          FVECT  ron;             /* intersection surface normal */
# Line 49 | Line 53 | typedef struct ray {
53          COLOR  pcol;            /* pattern color */
54          COLOR  rcol;            /* returned ray value */
55          double  rt;             /* returned effective ray length */
56 +        COLOR  cext;            /* medium extinction coefficient */
57 +        COLOR  albedo;          /* medium scattering albedo */
58 +        float  gecc;            /* scattering eccentricity coefficient */
59 +        int  *slights;          /* list of lights to test for scattering */
60   }  RAY;
61  
62   extern int  raytrace();
63  
64   extern double  raynormal();
65  
66 + extern double  raydist();
67 +
68   extern int  dimlist[];          /* dimension list for distribution */
69   extern int  ndims;              /* number of dimensions so far */
70   extern int  samplendx;          /* index for this sample */
61
62 #define  MAXDIM         32      /* maximum number of dimensions */
71  
72   #define  rayvalue(r)    (*(r)->revf)(r)

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines