home *** CD-ROM | disk | FTP | other *** search
/ Stars of Shareware: Raytrace & Morphing / SOS-RAYTRACE.ISO / programm / source / rayce27s / extern.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-02-02  |  2.4 KB  |  81 lines

  1. /*
  2.  * GLOBAL VARIABLES. They are declared EXTERN, which means extern. global
  3.  * storage for all variables is done in _one_ source file (initialize.c)
  4.  * 
  5.  * Distributed under terms of the GNU General Public License, see "copying"
  6.  * 
  7.  * (C) 1993, 1994 Han-Wen Nienhuys <hanwen@stack.urc.tue.nl>
  8.  */
  9.  
  10. /* resolution */
  11. EXTERN unsigned int xres,
  12.                 yres;
  13.  
  14. EXTERN int      noo;        /* number of objects at toplevel */
  15. EXTERN int      max_trace_level;/* maximum trace level */
  16.  
  17. EXTERN int      tries,        /* number of tries per pixel */
  18.                 iter_override;    /* number of tries set from commandline  */
  19.  
  20. /* time information */
  21. EXTERN double   time1,
  22.                 time2;        /* time limits */
  23. EXTERN double   Time;        /* current time */
  24.  
  25.  
  26.  
  27. /* statistics */
  28. EXTERN struct global_stat_struc global_stats;
  29. EXTERN struct line_stat_struc line_stats;
  30.  
  31. EXTERN long int test_stat,    /* variable for debugging and testing */
  32.                 debug_options;
  33. EXTERN int      test_flag;
  34.  
  35. #define DEBUGTOK    0x01    /* print tokens as they are read */
  36. #define DEBUGPARS    0x02    /* turn yydebug on */
  37. #define DEBUGRUNTIME    0x04    /* print memory statistics if something is
  38.                  * alloced. */
  39. #define DEBUGDECL    0x08    /* print everything in memory before
  40.                  * tracing and after parsing */
  41.  
  42. EXTERN bool
  43.                 keyboard_exit,    /* allow early break via keypress? */
  44.                 continue_flag,    /* continue picture? */
  45.                 silent_mode
  46.                ;
  47.  
  48. EXTERN FILE    *error_out;    /* for putting errors in */
  49.  
  50. EXTERN color    background_color;    /* the background color */
  51.  
  52. EXTERN struct camera *thecamera;/* our current camera; there can only be
  53.                  * one. */
  54.  
  55. EXTERN double   tmpdouble;    /* for the vector macros */
  56. EXTERN vector   tmpvector;    /* just something ..  (hhwaah) */
  57. EXTERN double   tolerance;    /* tolerance for intersection */
  58. EXTERN double   Aalias_width,    /* pixel width for AA  */
  59.                 depth_cutoff;    /* adaptive depth cutoff threshold */
  60.  
  61. EXTERN int      bunching;
  62. EXTERN vector   fudge,
  63.                 bggradient;
  64.  
  65.  
  66. /* shading info */
  67. EXTERN int      shading_model;
  68. EXTERN color    ambient_light;
  69. EXTERN double  *global_ior;
  70. EXTERN double   atmosphere_ior;
  71. EXTERN int      ior_depth;
  72.  
  73.  
  74.  
  75. /* the list of things in the scene */
  76. EXTERN object  *first_light,    /* chain of lights, so lights can be
  77.                  * scanned quickly while shading */
  78.                *thescene;    /* the scene itself. It is a composite
  79.                  * object. Everything in the scene is
  80.                  * contained in it. */
  81.