| 19 |
|
#define RNUMBER size_t /* ray counter (>= sizeof pointer) */ |
| 20 |
|
#endif |
| 21 |
|
|
| 22 |
< |
#define MAXDIM 32 /* maximum number of sampling dimensions */ |
| 22 |
> |
#define MAXDIM 36 /* maximum number of sampling dimensions */ |
| 23 |
> |
#define XTRADIM 3 /* #spare dimensions */ |
| 24 |
> |
#define ndims_inc() (ndims -= ndims>=MAXDIM-XTRADIM, ndims++) |
| 25 |
> |
#define dec_ndims() (ndims -= ndims>0) |
| 26 |
|
|
| 27 |
|
/* ray type flags */ |
| 28 |
|
#define PRIMARY 01 /* original ray */ |
| 67 |
|
int *slights; /* list of lights to test for scattering */ |
| 68 |
|
RNUMBER rno; /* unique ray number */ |
| 69 |
|
OBJECT robj; /* intersected object number */ |
| 70 |
< |
int rsrc; /* source we're aiming for */ |
| 70 |
> |
int rsrc; /* source we're aiming for (or ones to skip) */ |
| 71 |
|
float rweight; /* cumulative weight (for termination) */ |
| 72 |
|
float gecc; /* scattering eccentricity coefficient */ |
| 73 |
|
SCOLOR rcoef; /* contribution coefficient w.r.t. parent */ |
| 107 |
|
|
| 108 |
|
extern int dimlist[]; /* dimension list for distribution */ |
| 109 |
|
extern int ndims; /* number of dimensions so far */ |
| 110 |
< |
extern int samplendx; /* index for this sample */ |
| 110 |
> |
extern unsigned long |
| 111 |
> |
samplendx; /* index for this sample */ |
| 112 |
|
|
| 113 |
|
extern int do_irrad; /* compute irradiance? */ |
| 114 |
|
|
| 209 |
|
/* defined in preload.c */ |
| 210 |
|
extern int load_os(OBJREC *op); |
| 211 |
|
extern void preload_objs(void); |
| 212 |
+ |
extern char *shm_boundary; |
| 213 |
+ |
extern void cow_memshare(void); |
| 214 |
+ |
extern void cow_doneshare(void); |
| 215 |
|
/* defined in raycalls.c */ |
| 216 |
|
extern void ray_init(char *otnm); |
| 217 |
|
extern void ray_trace(RAY *r); |
| 219 |
|
extern void ray_save(RAYPARAMS *rp); |
| 220 |
|
extern void ray_restore(RAYPARAMS *rp); |
| 221 |
|
extern void ray_defaults(RAYPARAMS *rp); |
| 222 |
+ |
extern void reset_random(void); |
| 223 |
|
/* defined in raypcalls.c */ |
| 224 |
|
extern void ray_pinit(char *otnm, int nproc); |
| 225 |
|
extern int ray_psend(RAY *r); |
| 256 |
|
extern int getrenderopt(int ac, char *av[]); |
| 257 |
|
extern void print_rdefaults(void); |
| 258 |
|
/* defined in srcdraw.c */ |
| 251 |
– |
extern void drawsources(COLORV *pic[], float *zbf[], |
| 252 |
– |
int x0, int xsiz, int y0, int ysiz); |
| 259 |
|
extern void init_drawsources(int rad); |
| 260 |
+ |
extern void drawsources(COLORV *pic[], RGBPRIMP primp, float *zbf[], |
| 261 |
+ |
int x0, int xsiz, int y0, int ysiz); |
| 262 |
|
/* defined in rt/initotypes.c */ |
| 263 |
|
extern void initotypes(void); |
| 264 |
|
/* module main procedures */ |