41 |
|
OBJECT *clipset; /* set of objects currently clipped */ |
42 |
|
OBJECT *newcset; /* next clipset, used for transmission */ |
43 |
|
void (*revf)(); /* evaluation function for this ray */ |
44 |
+ |
void (*hitf)(); /* custom hit test for this traversal */ |
45 |
|
OBJECT robj; /* intersected object number */ |
46 |
|
OBJREC *ro; /* intersected object (one with material) */ |
47 |
|
double rot; /* distance to object */ |
49 |
|
FVECT ron; /* intersection surface normal */ |
50 |
|
double rod; /* -DOT(rdir, ron) */ |
51 |
|
FULLXF *rox; /* object transformation */ |
52 |
+ |
FLOAT uv[2]; /* local coordinates */ |
53 |
|
FVECT pert; /* surface normal perturbation */ |
54 |
|
COLOR pcol; /* pattern color */ |
55 |
|
COLOR rcol; /* returned ray value */ |
185 |
|
extern int rayorigin(); |
186 |
|
extern void rayclear(); |
187 |
|
extern void raytrace(); |
188 |
+ |
extern void rayhit(); |
189 |
|
extern void raycont(); |
190 |
|
extern void raytrans(); |
191 |
|
extern int rayshade(); |
192 |
|
extern void rayparticipate(); |
193 |
+ |
extern void raytexture(); |
194 |
|
extern int raymixture(); |
195 |
|
extern double raydist(); |
196 |
|
extern double raynormal(); |
239 |
|
extern int rayorigin(RAY *r, RAY *ro, int rt, double rw); |
240 |
|
extern void rayclear(RAY *r); |
241 |
|
extern void raytrace(RAY *r); |
242 |
+ |
extern void rayhit(OBJECT *oset, RAY *r); |
243 |
|
extern void raycont(RAY *r); |
244 |
|
extern void raytrans(RAY *r); |
245 |
|
extern int rayshade(RAY *r, int mod); |
246 |
|
extern void rayparticipate(RAY *r); |
247 |
+ |
extern void raytexture(RAY *r, OBJECT mod); |
248 |
|
extern int raymixture(RAY *r, OBJECT fore, OBJECT back, double coef); |
249 |
|
extern double raydist(RAY *r, int flags); |
250 |
|
extern double raynormal(FVECT norm, RAY *r); |