24#ifndef _SkyX_CloudsManager_H_
25#define _SkyX_CloudsManager_H_
82 const Ogre::Real& _Scale,
83 const Ogre::Vector2& _WindDirection,
84 const Ogre::Real& _TimeMultiplier)
108 const Ogre::Real& _Scale,
109 const Ogre::Vector2& _WindDirection,
110 const Ogre::Real& _TimeMultiplier,
111 const Ogre::Real& _DistanceAttenuation,
112 const Ogre::Real& _DetailAttenuation,
113 const Ogre::Real& _HeightVolume,
114 const Ogre::Real& _VolumetricDisplacement)
ColorGradient mSunGradient
void _unregister()
Unregister cloud pass.
SkyX * mSkyX
SkyX parent pointer.
Options mOptions
Cloud layer options.
Ogre::Pass * mCloudLayerPass
Cloud layer pass.
void setOptions(const Options &o)
Set options.
const ColorGradient & getSunGradient() const
Get sun color gradient.
void setSunGradient(const ColorGradient &SunGradient)
Set sun gradient.
const Options & getOptions() const
Get options.
void _updateInternalPassParameters()
Update internal cloud pass parameters.
ColorGradient mAmbientGradient
Ambient and Sun color gradients.
void _registerCloudLayer(Ogre::Pass *CloudLayerPass)
Register layer.
void _updatePassParameters()
Update cloud pass parameters.
void setAmbientGradient(const ColorGradient &AmbientGradient)
Set ambient gradient.
const ColorGradient & getAmbientGradient() const
Get ambient color gradient.
~CloudsManager()
Destructor.
void unregister(CloudLayer *cl)
Unregister cloud layer.
void unregisterAll()
Unregister all cloud layers.
void update()
Update cloud layers.
CloudLayer * add(const CloudLayer::Options &o)
Add a cloud layer.
void registerAll()
Register all.
const std::vector< CloudLayer * > & getCloudLayers() const
Get cloud layers.
std::vector< CloudLayer * >::iterator CloudLayersIt
Cloud layers iterator.
SkyX * mSkyX
SkyX parent pointer.
std::vector< CloudLayer * > mCloudLayers
Cloud layers std::vector.
void removeAll()
Remove all cloud layers.
void remove(CloudLayer *cl)
Remove the specified cloud layer.
Options(const Ogre::Real &_Height, const Ogre::Real &_Scale, const Ogre::Vector2 &_WindDirection, const Ogre::Real &_TimeMultiplier, const Ogre::Real &_DistanceAttenuation, const Ogre::Real &_DetailAttenuation, const Ogre::Real &_HeightVolume, const Ogre::Real &_VolumetricDisplacement)
Constructor.
Ogre::Vector2 WindDirection
Wind direction.
Ogre::Real Height
Cloud layer height.
Ogre::Real VolumetricDisplacement
Volumetric displacement(For volumetric effects on the gpu)
Options()
Default constructor.
Ogre::Real DistanceAttenuation
Distance attenuation.
Options(const Ogre::Real &_Height, const Ogre::Real &_Scale, const Ogre::Vector2 &_WindDirection, const Ogre::Real &_TimeMultiplier)
Constructor.
Ogre::Real DetailAttenuation
Detail attenuation.
Ogre::Real TimeMultiplier
Time multiplier.
Ogre::Real Scale
Cloud layer scale.
Ogre::Real HeightVolume
Cloud layer height volume(For volumetric effects on the gpu)