| 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 |
|
|
| 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); |