home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DP Tool Club 8
/
CDASC08.ISO
/
NEWS
/
RADIANCE
/
SRC
/
RT
/
AMBIENT.H
< prev
next >
Wrap
C/C++ Source or Header
|
1993-10-07
|
2KB
|
44 lines
/* Copyright (c) 1991 Regents of the University of California */
/* SCCSid "@(#)ambient.h 2.4 8/10/92 LBL" */
/*
* Common definitions for interreflection routines.
*/
/*
* Since we've defined our vectors as float below to save space,
* watch out for changes in the definitions of VCOPY() and DOT()
* and don't pass these vectors to fvect routines.
*/
typedef struct ambrec {
float pos[3]; /* position in space */
float dir[3]; /* normal direction */
int lvl; /* recursion level of parent ray */
float weight; /* weight of parent ray */
float rad; /* validity radius */
COLOR val; /* computed ambient value */
float gpos[3]; /* gradient wrt. position */
float gdir[3]; /* gradient wrt. direction */
struct ambrec *next; /* next in list */
} AMBVAL; /* ambient value */
extern COLOR ambval; /* global ambient component */
extern double ambacc; /* ambient accuracy */
extern int ambres; /* ambient resolution */
extern int ambdiv; /* number of divisions for calculation */
extern int ambssamp; /* number of super-samples */
extern int ambounce; /* number of ambient bounces */
extern char *amblist[]; /* ambient include/exclude list */
extern int ambincl; /* include == 1, exclude == 0 */
extern double maxarad; /* maximum ambient radius */
extern double minarad; /* minimum ambient radius */
extern double sumambient(), doambient(), makeambient();
#define AVGREFL 0.5 /* assumed average reflectance */
#define AMBVALSIZ 75 /* number of bytes in portable AMBVAL struct */
#define AMBMAGIC 557 /* magic number for ambient value files */
#define AMBFMT "Radiance_ambval" /* format id string */