| 16 |
|
|
| 17 |
|
#define MAXDIM 32 /* maximum number of dimensions */ |
| 18 |
|
|
| 19 |
– |
#define MAXSLIST 32 /* maximum sources to check */ |
| 20 |
– |
|
| 19 |
|
/* ray type flags */ |
| 20 |
|
#define PRIMARY 01 /* original ray */ |
| 21 |
|
#define SHADOW 02 /* ray to light source */ |
| 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; /* object number from octree */ |
| 46 |
> |
OBJREC *ro; /* intersected object (for material) */ |
| 47 |
|
double rot; /* distance to object */ |
| 48 |
|
FVECT rop; /* intersection point */ |
| 49 |
|
FVECT ron; /* intersection surface normal */ |
| 54 |
|
COLOR rcol; /* returned ray value */ |
| 55 |
|
double rt; /* returned effective ray length */ |
| 56 |
|
COLOR cext; /* medium extinction coefficient */ |
| 57 |
< |
float albedo; /* medium scattering albedo */ |
| 57 |
> |
COLOR albedo; /* medium scattering albedo */ |
| 58 |
|
float gecc; /* scattering eccentricity coefficient */ |
| 59 |
|
int *slights; /* list of lights to test for scattering */ |
| 60 |
|
} RAY; |
| 63 |
|
|
| 64 |
|
extern double raynormal(); |
| 65 |
|
|
| 66 |
< |
extern double raydistance(); |
| 66 |
> |
extern double raydist(); |
| 67 |
|
|
| 68 |
|
extern int dimlist[]; /* dimension list for distribution */ |
| 69 |
|
extern int ndims; /* number of dimensions so far */ |