| 1 |
< |
/* Copyright (c) 1990 Regents of the University of California */ |
| 1 |
> |
/* Copyright (c) 1992 Regents of the University of California */ |
| 2 |
|
|
| 3 |
|
/* SCCSid "$SunId$ LBL" */ |
| 4 |
|
|
| 21 |
|
#define REFRACTED 010 /* refracted (bent) ray */ |
| 22 |
|
#define TRANS 020 /* transmitted/transferred ray */ |
| 23 |
|
#define AMBIENT 040 /* ray scattered for interreflection */ |
| 24 |
+ |
#define SPECULAR 0100 /* ray scattered for specular */ |
| 25 |
|
|
| 26 |
|
/* reflected ray types */ |
| 27 |
< |
#define RAYREFL (SHADOW|REFLECTED|AMBIENT) |
| 27 |
> |
#define RAYREFL (SHADOW|REFLECTED|AMBIENT|SPECULAR) |
| 28 |
|
|
| 29 |
|
typedef struct ray { |
| 30 |
|
long rno; /* unique ray number */ |
| 59 |
|
extern int ndims; /* number of dimensions so far */ |
| 60 |
|
extern int samplendx; /* index for this sample */ |
| 61 |
|
|
| 62 |
< |
#define MAXDIM 16 /* maximum number of dimensions */ |
| 62 |
> |
#define MAXDIM 32 /* maximum number of dimensions */ |
| 63 |
|
|
| 64 |
|
#define rayvalue(r) (*(r)->revf)(r) |