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 |
|
|
27 |
|
#define RAYREFL (SHADOW|REFLECTED|AMBIENT|SPECULAR) |
28 |
|
|
29 |
|
typedef struct ray { |
30 |
< |
long rno; /* unique ray number */ |
30 |
> |
unsigned long rno; /* unique ray number */ |
31 |
|
int rlvl; /* number of reflections for this ray */ |
32 |
|
float rweight; /* cumulative weight of this ray */ |
33 |
|
short rtype; /* ray type */ |
35 |
|
struct ray *parent; /* ray this originated from */ |
36 |
|
FVECT rorg; /* origin of ray */ |
37 |
|
FVECT rdir; /* normalized direction of ray */ |
38 |
+ |
double rmax; /* maximum distance (aft clipping plane) */ |
39 |
|
int rsrc; /* source we're aiming for */ |
40 |
|
OBJECT *clipset; /* set of objects currently clipped */ |
41 |
|
OBJECT *newcset; /* next clipset, used for transmission */ |
55 |
|
extern int raytrace(); |
56 |
|
|
57 |
|
extern double raynormal(); |
58 |
+ |
|
59 |
+ |
extern double raydistance(); |
60 |
|
|
61 |
|
extern int dimlist[]; /* dimension list for distribution */ |
62 |
|
extern int ndims; /* number of dimensions so far */ |