Go to the documentation of this file.00001
00002
00003
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
00026 ELT_COUNT
00027 };
00028
00030 const c8* const LightTypeNames[] =
00031 {
00032 "Point",
00033 "Spot",
00034 "Directional",
00035 0
00036 };
00037
00039
00041 struct SLight
00042 {
00043 SLight() : AmbientColor(0.f,0.f,0.f), DiffuseColor(1.f,1.f,1.f),
00044 SpecularColor(1.f,1.f,1.f), Attenuation(1.f,0.f,0.f),
00045 OuterCone(45.f), InnerCone(0.f), Falloff(2.f),
00046 Position(0.f,0.f,0.f), Direction(0.f,0.f,1.f),
00047 Radius(100.f), Type(ELT_POINT), CastShadows(true)
00048 {}
00049
00051 SColorf AmbientColor;
00052
00054
00055 SColorf DiffuseColor;
00056
00058
00059 SColorf SpecularColor;
00060
00062
00065 core::vector3df Attenuation;
00066
00068 f32 OuterCone;
00069
00071 f32 InnerCone;
00072
00074 f32 Falloff;
00075
00077
00078 core::vector3df Position;
00079
00081
00082 core::vector3df Direction;
00083
00085 f32 Radius;
00086
00088 E_LIGHT_TYPE Type;
00089
00091 bool CastShadows:1;
00092 };
00093
00094 }
00095 }
00096
00097 #endif
00098