5 #include "VectorMath.h"
11 enum LightDirectionType
13 LightDirectionType_Key = 0,
14 LightDirectionType_Back,
15 LightDirectionType_Fill,
16 LightDirectionType_Ambient,
17 LightDirectionType_MAX
26 Eegeo::m44 m_cameraPositionLightDirectionMatrix;
29 float m_dayToNightParam;
30 float m_nightGlowLightmapIntensity;
32 Eegeo::v3 GetKeyLightVectorByAzimuthZenithForEcefPosition(
float _azimuthDegrees,
float _zenithDegrees,
Eegeo::dv3 _ecefVertexPosition)
const;
34 const static float KeyLightAzimuth;
35 const static float KeyLightZenith;
39 void SetRenderState(
const Eegeo::dv3& cameraLocationEcef);
42 void GetLightDirectionMatrix(
const Eegeo::dv3& _ecefVertexPosition,
Eegeo::m44 &out_inverseLightDirectionMat)
const;
43 const Eegeo::m44& GetLightDirectionMatrixForCameraPosition()
const;
44 void SetLightColourMatrix(
const Eegeo::m44& lightColourMatrix);
46 const Eegeo::m44 &GetColors(
bool useAlternativeAmbient =
false)
const
48 return useAlternativeAmbient ? m_alternativeAmbientLightColorMat : m_lightColorMat;
53 const Eegeo::v3& GetAlternativeAmbientLight()
const {
return m_alternativeAmbientColour;}
55 void SetNightLightmapColour(
const Eegeo::v3& colour) { m_nightLightmapColour = colour; }
56 void SetAlternativeAmbientColour(
const Eegeo::v3& colour) { m_alternativeAmbientColour = colour; }
57 const Eegeo::v3& GetNightLightmapColour()
const {
return m_nightLightmapColour; }
68 void SetNightGlowLightmapIntensity(
float nightGlowLightmapIntensity) { m_nightGlowLightmapIntensity = nightGlowLightmapIntensity; }
69 float GetNightGlowLightmapIntensity()
const {
return m_nightGlowLightmapIntensity; }