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

  1. /* Copyright (c) 1992 Regents of the University of California */
  2.  
  3. #ifndef lint
  4. static char SCCSid[] = "@(#)initotypes.c 2.2 1/4/92 LBL";
  5. #endif
  6.  
  7. /*
  8.  * Initialize ofun[] list for renderers
  9.  */
  10.  
  11. #include  "standard.h"
  12.  
  13. #include  "otypes.h"
  14.  
  15. #include  "otspecial.h"
  16.  
  17. extern int  o_sphere();
  18. extern int  o_face();
  19. extern int  o_cone();
  20. extern int  o_instance();
  21. extern int  m_light();
  22. extern int  m_normal();
  23. extern int  m_aniso();
  24. extern int  m_dielectric();
  25. extern int  m_glass();
  26. extern int  m_clip();
  27. extern int  m_mirror();
  28. extern int  m_direct();
  29. extern int  m_brdf();
  30. extern int  t_func(), t_data();
  31. extern int  p_cfunc(), p_bfunc();
  32. extern int  p_pdata(), p_cdata(), p_bdata();
  33. extern int  mx_func(), mx_data();
  34. extern int  text();
  35.  
  36. FUN  ofun[NUMOTYPE] = INIT_OTYPE;
  37.  
  38.  
  39. initotypes()            /* initialize ofun array */
  40. {
  41.     ofun[OBJ_SPHERE].funp =
  42.     ofun[OBJ_BUBBLE].funp = o_sphere;
  43.     ofun[OBJ_FACE].funp = o_face;
  44.     ofun[OBJ_CONE].funp =
  45.     ofun[OBJ_CUP].funp =
  46.     ofun[OBJ_CYLINDER].funp =
  47.     ofun[OBJ_TUBE].funp =
  48.     ofun[OBJ_RING].funp = o_cone;
  49.     ofun[OBJ_INSTANCE].funp = o_instance;
  50.     ofun[MAT_LIGHT].funp =
  51.     ofun[MAT_ILLUM].funp =
  52.     ofun[MAT_GLOW].funp =
  53.     ofun[MAT_SPOT].funp = m_light;
  54.     ofun[MAT_PLASTIC].funp =
  55.     ofun[MAT_METAL].funp =
  56.     ofun[MAT_TRANS].funp = m_normal;
  57.     ofun[MAT_TRANS].flags |= T_IRR_IGN;
  58.     ofun[MAT_PLASTIC2].funp =
  59.     ofun[MAT_METAL2].funp =
  60.     ofun[MAT_TRANS2].funp = m_aniso;
  61.     ofun[MAT_TRANS2].flags |= T_IRR_IGN;
  62.     ofun[MAT_DIELECTRIC].funp =
  63.     ofun[MAT_INTERFACE].funp = m_dielectric;
  64.     ofun[MAT_DIELECTRIC].flags |= T_IRR_IGN;
  65.     ofun[MAT_INTERFACE].flags |= T_IRR_IGN;
  66.     ofun[MAT_GLASS].funp = m_glass;
  67.     ofun[MAT_GLASS].flags |= T_IRR_IGN;
  68.     ofun[MAT_MIRROR].funp = m_mirror;
  69.     ofun[MAT_DIRECT1].funp =
  70.     ofun[MAT_DIRECT2].funp = m_direct;
  71.     ofun[MAT_CLIP].funp = m_clip;
  72.     ofun[MAT_PFUNC].funp =
  73.     ofun[MAT_MFUNC].funp =
  74.     ofun[MAT_PDATA].funp =
  75.     ofun[MAT_MDATA].funp = 
  76.     ofun[MAT_TFUNC].funp =
  77.     ofun[MAT_BRTDF].funp = 
  78.     ofun[MAT_TDATA].funp = m_brdf;
  79.     ofun[TEX_FUNC].funp = t_func;
  80.     ofun[TEX_DATA].funp = t_data;
  81.     ofun[PAT_CFUNC].funp = p_cfunc;
  82.     ofun[PAT_BFUNC].funp = p_bfunc;
  83.     ofun[PAT_CPICT].funp = p_pdata;
  84.     ofun[PAT_CDATA].funp = p_cdata;
  85.     ofun[PAT_BDATA].funp = p_bdata;
  86.     ofun[PAT_CTEXT].funp =
  87.     ofun[PAT_BTEXT].funp =
  88.     ofun[MIX_TEXT].funp = text;
  89.     ofun[MIX_FUNC].funp = mx_func;
  90.     ofun[MIX_DATA].funp = mx_data;
  91. }
  92.  
  93.  
  94. o_default()            /* default action is error */
  95. {
  96.     error(INTERNAL, "unexpected object call");
  97. }
  98.