home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 8 / CDASC08.ISO / NEWS / RADIANCE / SRC / RT / AMBIENT.H < prev    next >
C/C++ Source or Header  |  1993-10-07  |  2KB  |  44 lines

  1. /* Copyright (c) 1991 Regents of the University of California */
  2.  
  3. /* SCCSid "@(#)ambient.h 2.4 8/10/92 LBL" */
  4.  
  5. /*
  6.  * Common definitions for interreflection routines.
  7.  */
  8.  
  9. /*
  10.  * Since we've defined our vectors as float below to save space,
  11.  * watch out for changes in the definitions of VCOPY() and DOT()
  12.  * and don't pass these vectors to fvect routines.
  13.  */
  14. typedef struct ambrec {
  15.     float  pos[3];        /* position in space */
  16.     float  dir[3];        /* normal direction */
  17.     int  lvl;        /* recursion level of parent ray */
  18.     float  weight;        /* weight of parent ray */
  19.     float  rad;        /* validity radius */
  20.     COLOR  val;        /* computed ambient value */
  21.     float  gpos[3];        /* gradient wrt. position */
  22.     float  gdir[3];        /* gradient wrt. direction */
  23.     struct ambrec  *next;    /* next in list */
  24. }  AMBVAL;            /* ambient value */
  25.  
  26. extern COLOR  ambval;        /* global ambient component */
  27. extern double  ambacc;        /* ambient accuracy */
  28. extern int  ambres;        /* ambient resolution */
  29. extern int  ambdiv;        /* number of divisions for calculation */
  30. extern int  ambssamp;        /* number of super-samples */
  31. extern int  ambounce;        /* number of ambient bounces */
  32. extern char  *amblist[];    /* ambient include/exclude list */
  33. extern int  ambincl;        /* include == 1, exclude == 0 */
  34. extern double  maxarad;        /* maximum ambient radius */
  35. extern double  minarad;        /* minimum ambient radius */
  36.  
  37. extern double  sumambient(), doambient(), makeambient();
  38.  
  39. #define  AVGREFL    0.5    /* assumed average reflectance */
  40.  
  41. #define  AMBVALSIZ    75    /* number of bytes in portable AMBVAL struct */
  42. #define  AMBMAGIC    557    /* magic number for ambient value files */
  43. #define  AMBFMT        "Radiance_ambval"    /* format id string */
  44.