diff options
Diffstat (limited to 'src/graphics/engine/lightman.h')
-rw-r--r-- | src/graphics/engine/lightman.h | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/src/graphics/engine/lightman.h b/src/graphics/engine/lightman.h index 07dfe6a..ab66524 100644 --- a/src/graphics/engine/lightman.h +++ b/src/graphics/engine/lightman.h @@ -71,8 +71,8 @@ struct LightProgression */ enum LightPriority { - LIGHT_PRI_HIGH, - LIGHT_PRI_LOW + LIGHT_PRI_HIGH = 1, + LIGHT_PRI_LOW = 2 }; /** @@ -189,6 +189,21 @@ public: void UpdateDeviceLights(EngineObjectType type); protected: + class LightsComparator + { + public: + LightsComparator(Math::Vector eyePos, EngineObjectType objectType); + + bool operator()(const DynamicLight& left, const DynamicLight& right); + + private: + float GetLightWeight(const DynamicLight& dynLight); + + Math::Vector m_eyePos; + EngineObjectType m_objectType; + }; + +protected: CEngine* m_engine; CDevice* m_device; @@ -196,7 +211,7 @@ protected: float m_time; //! List of dynamic lights std::vector<DynamicLight> m_dynLights; - //! Map of current light allotment: graphics light -> dynamic light + //! Map of current light allocation: graphics light -> dynamic light std::vector<int> m_lightMap; }; |