24#ifndef _SkyX_AtmosphereManager_H_
25#define _SkyX_AtmosphereManager_H_
96 const Ogre::Real& _OuterRadius,
97 const Ogre::Real& _HeightPosition,
98 const Ogre::Real& _RayleighMultiplier,
99 const Ogre::Real& _MieMultiplier,
100 const Ogre::Real& _SunIntensity,
101 const Ogre::Vector3& _WaveLength,
102 const Ogre::Real& _G,
103 const Ogre::Real& _Exposure,
104 const int& _NumerOfSamples)
148 const Ogre::Vector3
getColorAt(
const Ogre::Vector3& Direction)
const;
155 void _update(
const Options& NewOptions,
const bool& ForceToUpdateAll =
false);
163 const float _scale(
const float& cos,
const float& uScaleDepth)
const;
const Options & getOptions() const
Get current options.
const float _scale(const float &cos, const float &uScaleDepth) const
Shader scale funtion.
void _update(const Options &NewOptions, const bool &ForceToUpdateAll=false)
Update atmoshpere.
const Ogre::Vector3 getColorAt(const Ogre::Vector3 &Direction) const
Get current atmosphere color at the given direction.
SkyX * mSkyX
SkyX parent pointer.
~AtmosphereManager()
Destructor.
void setOptions(const Options &_Options)
Set options.
Options mOptions
Our options.
Ogre::Real Exposure
Exposure coeficient.
Ogre::Real G
Phase function.
Ogre::Real HeightPosition
Height position, in [0, 1] range, 0=InnerRadius, 1=OuterRadius.
Ogre::Real SunIntensity
Sun intensity.
Ogre::Real OuterRadius
Outer atmosphere radius.
Options()
Default constructor.
Ogre::Vector3 WaveLength
WaveLength for RGB channels.
Options(const Ogre::Real &_InnerRadius, const Ogre::Real &_OuterRadius, const Ogre::Real &_HeightPosition, const Ogre::Real &_RayleighMultiplier, const Ogre::Real &_MieMultiplier, const Ogre::Real &_SunIntensity, const Ogre::Vector3 &_WaveLength, const Ogre::Real &_G, const Ogre::Real &_Exposure, const int &_NumerOfSamples)
Constructor.
Ogre::Real MieMultiplier
Mie multiplier.
Ogre::Real InnerRadius
Inner atmosphere radius.
Ogre::Real RayleighMultiplier
Rayleigh multiplier.
int NumberOfSamples
Number of samples.