Caelum
0.6.4
|
Class representing the sun as billboard with texture on it. More...
#include <Sun.h>
Public Member Functions | |
SpriteSun (Ogre::SceneManager *sceneMgr, Ogre::SceneNode *caelumRootNode, const Ogre::String &sunTextureName="sun_disc.png", const Ogre::Degree &sunTextureAngularSize=Ogre::Degree(3.77f)) | |
Constructor. More... | |
virtual | ~SpriteSun () |
Destructor. More... | |
void | setSunTexture (const Ogre::String &textureName) |
Updates the sun material. More... | |
void | setSunTextureAngularSize (const Ogre::Degree &sunTextureAngularSize) |
Updates the sun size. More... | |
void | setBodyColour (const Ogre::ColourValue &colour) |
Sets the sun sphere colour. More... | |
virtual void | notifyCameraChanged (Ogre::Camera *cam) |
Handle camera change. | |
virtual void | setQueryFlags (uint flags) |
virtual uint | getQueryFlags () const |
virtual void | setVisibilityFlags (uint flags) |
virtual uint | getVisibilityFlags () const |
Public Member Functions inherited from Caelum::BaseSkyLight | |
BaseSkyLight (Ogre::SceneManager *sceneMgr, Ogre::SceneNode *caelumRootNode) | |
Constructor. More... | |
virtual | ~BaseSkyLight ()=0 |
Destructor. | |
virtual void | update (const Ogre::Vector3 &direction, const Ogre::ColourValue &lightColour, const Ogre::ColourValue &bodyColour) |
Updates skylight parameters. More... | |
const Ogre::Vector3 | getLightDirection () const |
Retrieves the latest light direction. | |
virtual void | setLightDirection (const Ogre::Vector3 &dir) |
Set the sun direction. | |
const Ogre::ColourValue | getBodyColour () const |
Get current body colour, as set in setBodyColour. | |
const Ogre::ColourValue | getLightColour () const |
Get current light colour, as set in setLightColour. | |
virtual void | setLightColour (const Ogre::ColourValue &colour) |
Sets the skylight colour. | |
void | setDiffuseMultiplier (const Ogre::ColourValue &diffuse) |
Set diffuse multiplier for light colour. | |
const Ogre::ColourValue | getDiffuseMultiplier () const |
Set diffuse multiplier for light colour. | |
void | setSpecularMultiplier (const Ogre::ColourValue &specular) |
Set specular multiplier for light colour. | |
const Ogre::ColourValue | getSpecularMultiplier () const |
Set specular multiplier for light colour. | |
void | setAmbientMultiplier (const Ogre::ColourValue &ambient) |
Set ambient multiplier for light colour This value is only stored here; the SceneManager is not touched However, CaelumSystem does use this value. | |
const Ogre::ColourValue | getAmbientMultiplier () const |
Set ambient multiplier for light colour. | |
Ogre::Light * | getMainLight () const |
Direct access to the Ogre::Light. | |
bool | getAutoDisable () const |
Check if the light is automatically disabled. | |
void | setAutoDisable (bool value) |
Turn on and off auto-disabling of the light when too dim. More... | |
Ogre::Real | getAutoDisableThreshold () const |
Get the auto-disable threshold. | |
void | setAutoDisableThreshold (Ogre::Real value) |
Set the auto-disable threshold. | |
void | setForceDisable (bool value) |
Disable the light by force; without taking intensity into account. | |
bool | getForceDisable () const |
Public Member Functions inherited from Caelum::CameraBoundElement | |
CameraBoundElement () | |
Constructor. More... | |
virtual | ~CameraBoundElement () |
Virtual Destructor. | |
void | forceFarRadius (Ogre::Real radius) |
Forces the "far" size of the element to a specific radius. More... | |
bool | getAutoRadius () const |
Checks if this element is in auto-radius mode. More... | |
void | setAutoRadius () |
Re-enable auto-radius; if disabled. More... | |
Static Public Attributes | |
static const Ogre::String | SUN_MATERIAL_NAME |
Name of the sun material. | |
Static Public Attributes inherited from Caelum::BaseSkyLight | |
static const Ogre::Real | DEFAULT_AUTO_DISABLE_THRESHOLD |
Static Public Attributes inherited from Caelum::CameraBoundElement | |
static const Ogre::Real | CAMERA_FAR_DISTANCE_MULTIPLIER |
Camera distances multiplier for the far clipping distance. More... | |
static const Ogre::Real | CAMERA_NEAR_DISTANCE_MULTIPLIER |
Camera distances multiplier for the near clipping distance. More... | |
Protected Attributes | |
PrivateMaterialPtr | mSunMaterial |
The sun material. | |
PrivateBillboardSetPtr | mSunBillboardSet |
The sun sprite / billboard. | |
Ogre::Degree | mSunTextureAngularSize |
The sun sprite visible angle. | |
Protected Attributes inherited from Caelum::BaseSkyLight | |
Ogre::Light * | mMainLight |
The main directional light. | |
Ogre::SceneNode * | mNode |
The sun scene node. | |
float | mRadius |
Base distance of the light. | |
Ogre::Vector3 | mDirection |
The latest normalised sun direction. | |
Ogre::ColourValue | mBodyColour |
Body sphere colour, as set by setBodyColour. | |
Ogre::ColourValue | mLightColour |
Sun light colour, as set by setLightColour. | |
Ogre::ColourValue | mDiffuseMultiplier |
Colour multiplier for light diffuse colour. | |
Ogre::ColourValue | mSpecularMultiplier |
Colour multiplier for light specular colour. | |
Ogre::ColourValue | mAmbientMultiplier |
Colour multiplier for ambient light colour. More... | |
bool | mAutoDisableLight |
If the light is automatically disabled beneath mAutoDisableThreshold. | |
Ogre::Real | mAutoDisableThreshold |
Threshold beneath which the light is automatically disabled. | |
bool | mForceDisableLight |
If the light is always disabled. Separate from the mAutoDisable mechanism. | |
Additional Inherited Members | |
Protected Member Functions inherited from Caelum::BaseSkyLight | |
virtual void | setFarRadius (Ogre::Real radius) |
Handle far radius. | |
void | setMainLightColour (const Ogre::ColourValue &colour) |
Temporary change main light color. | |
bool | shouldEnableLight (const Ogre::ColourValue &colour) |
If the light should be enabled for a certain value. More... | |
Class representing the sun as billboard with texture on it.
Caelum::SpriteSun::SpriteSun | ( | Ogre::SceneManager * | sceneMgr, |
Ogre::SceneNode * | caelumRootNode, | ||
const Ogre::String & | sunTextureName = "sun_disc.png" , |
||
const Ogre::Degree & | sunTextureAngularSize = Ogre::Degree(3.77f) |
||
) |
|
virtual |
Destructor.
void Caelum::SpriteSun::setSunTexture | ( | const Ogre::String & | textureName | ) |
Updates the sun material.
textureName | The new sun texture name. |
void Caelum::SpriteSun::setSunTextureAngularSize | ( | const Ogre::Degree & | sunTextureAngularSize | ) |
Updates the sun size.
sunTextureAngularSize | The new sun texture angular size. |
|
virtual |
Sets the sun sphere colour.
colour | The colour used to draw the sun |
Reimplemented from Caelum::BaseSkyLight.