home *** CD-ROM | disk | FTP | other *** search
/ Enter 2005 March / ENTER.ISO / files / fwp-0.0.6-win32-installer.exe / light.h < prev    next >
Encoding:
C/C++ Source or Header  |  2001-07-07  |  2.2 KB  |  79 lines

  1. /* -*- c -*- */
  2. #ifndef INCLUDED_LIB3DS_LIGHT_H
  3. #define INCLUDED_LIB3DS_LIGHT_H
  4. /*
  5.  * The 3D Studio File Format Library
  6.  * Copyright (C) 1996-2001 by J.E. Hoffmann <je-h@gmx.net>
  7.  * All rights reserved.
  8.  *
  9.  * This program is  free  software;  you can redistribute it and/or modify it
  10.  * under the terms of the  GNU Lesser General Public License  as published by 
  11.  * the  Free Software Foundation;  either version 2.1 of the License,  or (at 
  12.  * your option) any later version.
  13.  *
  14.  * This  program  is  distributed in  the  hope that it will  be useful,  but
  15.  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
  16.  * or  FITNESS FOR A  PARTICULAR PURPOSE.  See the  GNU Lesser General Public  
  17.  * License for more details.
  18.  *
  19.  * You should  have received  a copy of the GNU Lesser General Public License
  20.  * along with  this program;  if not, write to the  Free Software Foundation,
  21.  * Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  22.  *
  23.  * $Id: light.h,v 1.9 2001/07/07 19:05:30 jeh Exp $
  24.  */
  25.  
  26. #ifndef INCLUDED_LIB3DS_TYPES_H
  27. #include <lib3ds/types.h>
  28. #endif
  29.  
  30. #ifdef __cplusplus
  31. extern "C" {
  32. #endif
  33.  
  34. /*!
  35.  * Light
  36.  * \ingroup light
  37.  */
  38. struct _Lib3dsLight {
  39.     Lib3dsLight *next;
  40.     char name[64];
  41.     Lib3dsBool spot_light;
  42.     Lib3dsBool see_cone;
  43.     Lib3dsRgb color;
  44.     Lib3dsVector position;
  45.     Lib3dsVector spot;
  46.     Lib3dsFloat roll;
  47.     Lib3dsBool off;
  48.     Lib3dsFloat outer_range;
  49.     Lib3dsFloat inner_range;
  50.     Lib3dsFloat multiplier;
  51.     /*const char** excludes;*/
  52.     Lib3dsFloat attenuation;
  53.     Lib3dsBool rectangular_spot;
  54.     Lib3dsBool shadowed;
  55.     Lib3dsFloat shadow_bias;
  56.     Lib3dsFloat shadow_filter;
  57.     Lib3dsIntw shadow_size;
  58.     Lib3dsFloat spot_aspect;
  59.     Lib3dsBool use_projector;
  60.     char projector[64];
  61.     Lib3dsIntd spot_overshoot;
  62.     Lib3dsBool ray_shadows;
  63.     Lib3dsFloat ray_bias;
  64.     Lib3dsFloat hot_spot;
  65.     Lib3dsFloat fall_off;
  66. }; 
  67.  
  68. extern LIB3DSAPI Lib3dsLight* lib3ds_light_new(const char *name);
  69. extern LIB3DSAPI void lib3ds_light_free(Lib3dsLight *mesh);
  70. extern LIB3DSAPI void lib3ds_light_dump(Lib3dsLight *light);
  71. extern LIB3DSAPI Lib3dsBool lib3ds_light_read(Lib3dsLight *light, Lib3dsIo *io);
  72. extern LIB3DSAPI Lib3dsBool lib3ds_light_write(Lib3dsLight *light, Lib3dsIo *io);
  73.  
  74. #ifdef __cplusplus
  75. };
  76. #endif
  77. #endif
  78.  
  79.