00001 /* -*- c -*- */ 00002 #ifndef INCLUDED_LIB3DS_LIGHT_H 00003 #define INCLUDED_LIB3DS_LIGHT_H 00004 /* 00005 * The 3D Studio File Format Library 00006 * Copyright (C) 1996-2007 by Jan Eric Kyprianidis <www.kyprianidis.com> 00007 * All rights reserved. 00008 * 00009 * This program is free software; you can redistribute it and/or modify it 00010 * under the terms of the GNU Lesser General Public License as published by 00011 * the Free Software Foundation; either version 2.1 of the License, or (at 00012 * your option) any later version. 00013 * 00014 * This program is distributed in the hope that it will be useful, but 00015 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 00016 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public 00017 * License for more details. 00018 * 00019 * You should have received a copy of the GNU Lesser General Public License 00020 * along with this program; if not, write to the Free Software Foundation, 00021 * Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 00022 * 00023 * $Id: light.h,v 1.13 2007/06/20 17:04:08 jeh Exp $ 00024 */ 00025 00026 #ifndef INCLUDED_LIB3DS_TYPES_H 00027 #include <lib3ds/types.h> 00028 #endif 00029 00030 #ifdef __cplusplus 00031 extern "C" { 00032 #endif 00033 00038 struct Lib3dsLight { 00039 Lib3dsLight *next; 00040 char name[64]; 00041 Lib3dsDword object_flags; /*< @see Lib3dsObjectFlags */ 00042 Lib3dsBool spot_light; 00043 Lib3dsBool see_cone; 00044 Lib3dsRgb color; 00045 Lib3dsVector position; 00046 Lib3dsVector spot; 00047 Lib3dsFloat roll; 00048 Lib3dsBool off; 00049 Lib3dsFloat outer_range; 00050 Lib3dsFloat inner_range; 00051 Lib3dsFloat multiplier; 00052 /*const char** excludes;*/ 00053 Lib3dsFloat attenuation; 00054 Lib3dsBool rectangular_spot; 00055 Lib3dsBool shadowed; 00056 Lib3dsFloat shadow_bias; 00057 Lib3dsFloat shadow_filter; 00058 Lib3dsIntw shadow_size; 00059 Lib3dsFloat spot_aspect; 00060 Lib3dsBool use_projector; 00061 char projector[64]; 00062 Lib3dsIntd spot_overshoot; 00063 Lib3dsBool ray_shadows; 00064 Lib3dsFloat ray_bias; 00065 Lib3dsFloat hot_spot; 00066 Lib3dsFloat fall_off; 00067 }; 00068 00069 extern LIB3DSAPI Lib3dsLight* lib3ds_light_new(const char *name); 00070 extern LIB3DSAPI void lib3ds_light_free(Lib3dsLight *mesh); 00071 extern LIB3DSAPI void lib3ds_light_dump(Lib3dsLight *light); 00072 extern LIB3DSAPI Lib3dsBool lib3ds_light_read(Lib3dsLight *light, Lib3dsIo *io); 00073 extern LIB3DSAPI Lib3dsBool lib3ds_light_write(Lib3dsLight *light, Lib3dsIo *io); 00074 00075 #ifdef __cplusplus 00076 } 00077 #endif 00078 #endif 00079
|
|
||
|