Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef __CS_SIMPLESTATICLIGHTER_H__
00020 #define __CS_SIMPLESTATICLIGHTER_H__
00021
00026 #include "csextern.h"
00027
00028 struct iMeshWrapper;
00029 struct iLight;
00030 struct iSector;
00031 struct iEngine;
00032 struct iGeneralFactoryState;
00033 class csColor4;
00034
00035 namespace CS
00036 {
00037 namespace Lighting
00038 {
00039
00047 class CS_CRYSTALSPACE_EXPORT SimpleStaticLighter
00048 {
00049 public:
00053 enum ShadowType
00054 {
00056 CS_SHADOW_NONE = 0,
00058 CS_SHADOW_CENTER,
00060 CS_SHADOW_BOUNDINGBOX,
00062 CS_SHADOW_FULL
00063 };
00064
00065 private:
00066 static void CalculateLighting (iMeshWrapper* mesh,
00067 iGeneralFactoryState* fact_state, iLight* light,
00068 ShadowType shadow_type, csColor4* colors, bool init);
00069
00070 public:
00074 static void ConstantColor (iMeshWrapper* mesh, const csColor4& color);
00075
00079 static void ShineLight (iMeshWrapper* mesh, iLight* light,
00080 ShadowType shadow_type = CS_SHADOW_NONE);
00081
00086 static void ShineLights (iMeshWrapper* mesh, iEngine* engine, int maxlights,
00087 ShadowType shadow_type = CS_SHADOW_NONE);
00088
00093 static void ShineLights (iSector* sector, iEngine* engine, int maxlights,
00094 ShadowType shadow_type = CS_SHADOW_NONE);
00095 };
00096
00097 }
00098 }
00099
00102 #endif // __CS_SIMPLESTATICLIGHTER_H__
00103