|
IrrlichtEngine
|
00001 // Copyright (C) 2002-2011 Nikolaus Gebhardt 00002 // This file is part of the "Irrlicht Engine". 00003 // For conditions of distribution and use, see copyright notice in irrlicht.h 00004 00005 #ifndef __S_LIGHT_H_INCLUDED__ 00006 #define __S_LIGHT_H_INCLUDED__ 00007 00008 #include "SColor.h" 00009 00010 namespace irr 00011 { 00012 namespace video 00013 { 00014 00016 enum E_LIGHT_TYPE 00017 { 00019 ELT_POINT, 00021 ELT_SPOT, 00023 ELT_DIRECTIONAL 00024 }; 00025 00027 const c8* const LightTypeNames[] = 00028 { 00029 "Point", 00030 "Spot", 00031 "Directional", 00032 0 00033 }; 00034 00036 00038 struct SLight 00039 { 00040 SLight() : AmbientColor(0.f,0.f,0.f), DiffuseColor(1.f,1.f,1.f), 00041 SpecularColor(1.f,1.f,1.f), Attenuation(1.f,0.f,0.f), 00042 OuterCone(45.f), InnerCone(0.f), Falloff(2.f), 00043 Position(0.f,0.f,0.f), Direction(0.f,0.f,1.f), 00044 Radius(100.f), Type(ELT_POINT), CastShadows(true) 00045 {} 00046 00048 SColorf AmbientColor; 00049 00051 00052 SColorf DiffuseColor; 00053 00055 00056 SColorf SpecularColor; 00057 00059 00062 core::vector3df Attenuation; 00063 00065 f32 OuterCone; 00066 00068 f32 InnerCone; 00069 00071 f32 Falloff; 00072 00074 00075 core::vector3df Position; 00076 00078 00079 core::vector3df Direction; 00080 00082 f32 Radius; 00083 00085 E_LIGHT_TYPE Type; 00086 00088 bool CastShadows:1; 00089 }; 00090 00091 } // end namespace video 00092 } // end namespace irr 00093 00094 #endif 00095