![]() |
OGRE
2.1.0unstable
Object-Oriented Graphics Rendering Engine
|
Representation of a dynamic light source in the scene. More...
#include <OgreLight.h>
Inheritance diagram for Ogre::Light:Public Types | |
| enum | LightTypes { LT_DIRECTIONAL = 0, LT_POINT = 1, LT_SPOTLIGHT = 2, LT_VPL = 3, MAX_FORWARD_PLUS_LIGHTS = 4, LT_AREA_APPROX = 4, NUM_LIGHT_TYPES } |
| Defines the type of light. More... | |
| typedef FastArray< MovableObject * > | MovableObjectArray |
| @See SceneManager::cullFrustum More... | |
Public Member Functions | |
| Light (IdType id, ObjectMemoryManager *objectMemoryManager, SceneManager *manager) | |
| Normal constructor. More... | |
| ~Light () | |
| Standard destructor. More... | |
| void | _calcTempSquareDist (const Vector3 &worldPos) |
| Internal method for calculating current squared distance from some world position. More... | |
| Real | _deriveShadowFarClipDistance (const Camera *maincam) const |
| Derive a shadow camera far distance from either the light, or from the main camera if the light doesn't have its own setting. More... | |
| Real | _deriveShadowNearClipDistance (const Camera *maincam) const |
| Derive a shadow camera near distance from either the light, or from the main camera if the light doesn't have its own setting. More... | |
| LightList * | _getLightList () |
| Returns a pointer to the current list of lights for this object. More... | |
| SceneManager * | _getManager (void) const |
| Get the manager of this object, if any (internal use only) More... | |
| ObjectData & | _getObjectData () |
| Returns a direct access to the ObjectData state. More... | |
| bool | _getOwnShadowFarDistance (void) const |
| const Matrix4 & | _getParentNodeFullTransform (void) const |
| Returns the full transformation of the parent sceneNode or the attachingPoint node. More... | |
| virtual void | _notifyAttached (Node *parent) |
| Internal method called to notify the object that it has been attached to a node. More... | |
| void | _notifyManager (SceneManager *man) |
| Notify the object of it's manager (internal use only) More... | |
| virtual void | _notifyParentNodeMemoryChanged (void) |
| @See Node::_callMemoryChangeListeners More... | |
| virtual void | _notifyStaticDirty (void) const |
| Called by SceneManager when it is telling we're a static MovableObject being dirty Don't call this directly. More... | |
| virtual void | _updateCustomGpuParameter (uint16 paramIndex, const GpuProgramParameters::AutoConstantEntry &constantEntry, GpuProgramParameters *params) const |
| Update a custom GpuProgramParameters constant which is derived from information only this Light knows. More... | |
| virtual void | _updateRenderQueue (RenderQueue *queue, Camera *camera, const Camera *lodCamera) |
| Internal method by which the movable object must add Renderable subclass instances to the rendering queue. More... | |
| void | addQueryFlags (uint32 flags) |
| As setQueryFlags, except the flags passed as parameters are appended to the existing flags on this object. More... | |
| void | addVisibilityFlags (uint32 flags) |
| As setVisibilityFlags, except the flags passed as parameters are appended to the existing flags on this object. More... | |
| AnimableValuePtr | createAnimableValue (const String &valueName) |
| Create a reference-counted AnimableValuePtr for the named value. More... | |
| void | detachFromParent (void) |
| Detaches an object from a parent SceneNode if attached. More... | |
| bool | getAffectParentNode (void) const |
| const StringVector & | getAnimableValueNames (void) const |
| Gets a list of animable value names for this object. More... | |
| Vector4 | getAs4DVector (void) const |
| Real | getAttenuationConstant (void) const |
| Returns the constant factor in the attenuation formula. More... | |
| Real | getAttenuationLinear (void) const |
| Returns the linear factor in the attenuation formula. More... | |
| Real | getAttenuationQuadric (void) const |
| Returns the quadric factor in the attenuation formula. More... | |
| Real | getAttenuationRange (void) const |
| Returns the absolute upper range of the light. More... | |
| RealAsUint | getCachedDistanceToCamera (void) const |
| Returns the distance to camera as calculated in @cullFrustum. More... | |
| Real | getCachedDistanceToCameraAsReal (void) const |
| Returns the distance to camera as calculated in @cullFrustum. More... | |
| bool | getCastShadows (void) const |
| Returns whether shadow casting is enabled for this object. More... | |
| unsigned char | getCurrentMeshLod (void) const |
| const Vector4 & | getCustomParameter (uint16 index) const |
| Gets the custom value associated with this Light at the given index. More... | |
| Vector3 | getDerivedDirection (void) const |
| Retrieves the direction of the light including any transform from nodes it is attached to. More... | |
| Vector3 | getDerivedDirectionUpdated (void) const |
| Vector2 | getDerivedRectSize (void) const |
| const ColourValue & | getDiffuseColour (void) const |
| Returns the colour of the diffuse light given off by this light source (see setDiffuseColour for more info). More... | |
| Vector3 | getDirection (void) const |
| Returns the light's direction. More... | |
| bool | getDoubleSided (void) const |
| IdType | getId () const |
| Get the unique id of this object. More... | |
| uint32 | getLightMask () const |
| Get a bitwise mask which will filter the lights affecting this object. More... | |
| Listener * | getListener (void) const |
| Gets the current listener for this object. More... | |
| Aabb | getLocalAabb (void) const |
| Retrieves the local axis-aligned bounding box for this object. More... | |
| float | getLocalRadius (void) const |
| See getLocalAabb and getWorldRadius. More... | |
| const String & | getMovableType (void) const |
| Returns the type name of this object. More... | |
| const String & | getName (void) const |
| Returns the name of this object. More... | |
| Node * | getParentNode (void) const |
| Returns the node to which this object is attached. More... | |
| SceneNode * | getParentSceneNode (void) const |
| Real | getPowerScale (void) const |
| Set the scaling factor which indicates the relative power of a light. More... | |
| uint32 | getQueryFlags (void) const |
| Returns the query flags relevant for this object. More... | |
| const Vector2 & | getRectSize (void) const |
| Real | getRenderingDistance (void) const |
| Gets the distance at which batches are no longer rendered. More... | |
| Real | getRenderingMinPixelSize () const |
| Returns the minimum pixel size an object needs to be in both screen axes in order to be rendered. More... | |
| uint8 | getRenderQueueGroup (void) const |
| Gets the queue group for this entity, see setRenderQueueGroup for full details. More... | |
| Real | getShadowFarClipDistance () const |
| Get the far clip plane distance to be used by the shadow camera, if this light casts texture shadows. More... | |
| Real | getShadowFarDistance (void) const |
| Gets the maximum distance away from the camera that shadows by this light will be visible. More... | |
| Real | getShadowFarDistanceSquared (void) const |
| Real | getShadowNearClipDistance () const |
| Get the near clip plane distance to be used by the shadow camera, if this light casts texture shadows. More... | |
| SkeletonInstance * | getSkeletonInstance (void) const |
| const ColourValue & | getSpecularColour (void) const |
| Returns the colour of specular light given off by this light source. More... | |
| Real | getSpotlightFalloff (void) const |
| Returns the falloff between the inner and outer cones of the spotlight. More... | |
| const Radian & | getSpotlightInnerAngle (void) const |
| Returns the angle covered by the spotlights inner cone. More... | |
| Real | getSpotlightNearClipDistance () const |
| Get the near clip plane distance to be used by spotlights that use light clipping. More... | |
| const Radian & | getSpotlightOuterAngle (void) const |
| Returns the angle covered by the spotlights outer cone. More... | |
| Real | getSpotlightTanHalfAngle (void) const |
| LightTypes | getType (void) const |
| Returns the light type. More... | |
| uint32 | getTypeFlags (void) const |
| Override to return specific type flag. More... | |
| UserObjectBindings & | getUserObjectBindings () |
| Return an instance of user objects binding associated with this class. More... | |
| const UserObjectBindings & | getUserObjectBindings () const |
| Return an instance of user objects binding associated with this class. More... | |
| uint32 | getVisibilityFlags (void) const |
| Returns the visibility flags relevant for this object. More... | |
| bool | getVisible (void) const |
| Gets this object whether to be visible or not, if it has a renderable component. More... | |
| Aabb | getWorldAabb () const |
| Gets the axis aligned box in world space. More... | |
| Aabb | getWorldAabbUpdated () |
| Gets the axis aligned box in world space. More... | |
| float | getWorldRadius () const |
| Gets the bounding Radius scaled by max( scale.x, scale.y, scale.z ). More... | |
| float | getWorldRadiusUpdated () |
| Gets the bounding Radius scaled by max( scale.x, scale.y, scale.z ). More... | |
| virtual void | instanceBatchCullFrustumThreaded (const Frustum *frustum, const Camera *lodCamera, uint32 combinedVisibilityFlags) |
| @See InstancingTheadedCullingMethod, More... | |
| bool | isAttached (void) const |
| Returns true if this object is attached to a Node. More... | |
| bool | isInLightRange (const Ogre::AxisAlignedBox &container) const |
| Check whether a bounding box is included in the lighted area of the light. More... | |
| bool | isInLightRange (const Ogre::Sphere &sphere) const |
| Check whether a sphere is included in the lighted area of the light. More... | |
| bool | isStatic () const |
| Checks whether this MovableObject is static. @See setStatic. More... | |
| bool | isVisible (void) const |
| Returns whether or not this object is supposed to be visible or not. More... | |
| void | operator delete (void *ptr) |
| void | operator delete (void *ptr, const char *, int, const char *) |
| void | operator delete (void *ptr, void *) |
| void | operator delete[] (void *ptr) |
| void | operator delete[] (void *ptr, const char *, int, const char *) |
| void * | operator new (size_t sz) |
| void * | operator new (size_t sz, const char *file, int line, const char *func) |
| operator new, with debug line info More... | |
| void * | operator new (size_t sz, void *ptr) |
| placement operator new More... | |
| void * | operator new[] (size_t sz) |
| void * | operator new[] (size_t sz, const char *file, int line, const char *func) |
| array operator new, with debug line info More... | |
| bool | operator() (const IdObject &left, const IdObject &right) |
| bool | operator() (const IdObject *left, const IdObject *right) |
| const LightList & | queryLights (void) const |
| Gets a list of lights, ordered relative to how close they are to this movable object. More... | |
| void | removeQueryFlags (uint32 flags) |
| As setQueryFlags, except the flags passed as parameters are removed from the existing flags on this object. More... | |
| void | removeVisibilityFlags (uint32 flags) |
| As setVisibilityFlags, except the flags passed as parameters are removed from the existing flags on this object. More... | |
| void | resetShadowFarDistance (void) |
| Tells the light to use the shadow far distance of the SceneManager. More... | |
| void | setAffectParentNode (bool bAffect) |
| A Light must always have a Node attached to it. More... | |
| void | setAttenuation (Real range, Real constant, Real linear, Real quadratic) |
| Sets the attenuation parameters of the light source i.e. More... | |
| void | setAttenuationBasedOnRadius (Real radius, Real lumThreshold) |
| Sets the attenuation parameters (range, constant, linear & quadratic,. More... | |
| void | setCastShadows (bool enabled) |
| Sets whether or not this object will cast shadows. More... | |
| void | setCustomParameter (uint16 index, const Vector4 &value) |
| Sets a custom parameter for this Light, which may be used to drive calculations for this specific Renderable, like GPU program parameters. More... | |
| void | setDiffuseColour (const ColourValue &colour) |
| Sets the colour of the diffuse light given off by this source. More... | |
| void | setDiffuseColour (Real red, Real green, Real blue) |
| Sets the colour of the diffuse light given off by this source. More... | |
| void | setDirection (const Vector3 &vec) |
| Sets the direction in which a light points. More... | |
| void | setDoubleSided (bool bDoubleSided) |
| For area lights and custom 2d shapes, specifies whether the light lits in both directions (positive & negative sides of the plane) or if only towards one. More... | |
| void | setLightMask (uint32 lightMask) |
| Set a bitwise mask which will filter the lights affecting this object. More... | |
| void | setListener (Listener *listener) |
| Sets a listener for this object. More... | |
| void | setLocalAabb (const Aabb box) |
| Sets the local axis-aligned bounding box for this object. More... | |
| void | setName (const String &name) |
| Sets a custom name for this node. More... | |
| void | setPowerScale (Real power) |
| Set a scaling factor to indicate the relative power of a light. More... | |
| void | setQueryFlags (uint32 flags) |
| Sets the query flags for this object. More... | |
| void | setRectSize (Vector2 rectSize) |
| For custom 2D shape and area lights, sets the dimensions of the rectangle, in half size. More... | |
| void | setRenderingDistance (Real dist) |
| Sets the distance at which the object is no longer rendered. More... | |
| void | setRenderingMinPixelSize (Real pixelSize) |
| Sets the minimum pixel size an object needs to be in both screen axes in order to be rendered. More... | |
| virtual void | setRenderQueueGroup (uint8 queueID) |
| Overload to avoid it. Light::setType uses the RenderQueue ID to classify lights per type. More... | |
| void | setShadowFarClipDistance (Real farClip) |
| Set the far clip plane distance to be used by the shadow camera, if this light casts texture shadows. More... | |
| void | setShadowFarDistance (Real distance) |
| Sets the maximum distance away from the camera that shadows by this light will be visible. More... | |
| void | setShadowNearClipDistance (Real nearClip) |
| Set the near clip plane distance to be used by the shadow camera, if this light casts texture shadows. More... | |
| void | setSpecularColour (const ColourValue &colour) |
| Sets the colour of the specular light given off by this source. More... | |
| void | setSpecularColour (Real red, Real green, Real blue) |
| Sets the colour of the specular light given off by this source. More... | |
| void | setSpotlightFalloff (Real val) |
| Sets the falloff between the inner and outer cones of the spotlight. More... | |
| void | setSpotlightInnerAngle (const Radian &val) |
| Sets the angle covered by the spotlights inner cone. More... | |
| void | setSpotlightNearClipDistance (Real nearClip) |
| Set the near clip plane distance to be used by spotlights that use light clipping, allowing you to render spots as if they start from further down their frustum. More... | |
| void | setSpotlightOuterAngle (const Radian &val) |
| Sets the angle covered by the spotlights outer cone. More... | |
| void | setSpotlightRange (const Radian &innerAngle, const Radian &outerAngle, Real falloff=1.0) |
| Sets the range of a spotlight, i.e. More... | |
| bool | setStatic (bool bStatic) |
| Turns this Node into static or dynamic. More... | |
| void | setType (LightTypes type) |
| Sets the type of light - see LightTypes for more info. More... | |
| void | setVisibilityFlags (uint32 flags) |
| Sets the visibility flags for this object. More... | |
| void | setVisible (bool visible) |
| Tells this object whether to be visible or not, if it has a renderable component. More... | |
Static Public Member Functions | |
| static void | buildLightList (const size_t numNodes, ObjectData t, const LightListInfo &globalLightList) |
| @See SceneManager::buildLightList More... | |
| static void | calculateCastersBox (const size_t numNodes, ObjectData t, uint32 sceneVisibilityFlags, AxisAlignedBox *outBox) |
| static void | cullFrustum (const size_t numNodes, ObjectData t, const Camera *frustum, uint32 sceneVisibilityFlags, MovableObjectArray &outCulledObjects, const Camera *lodCamera) |
| static void | cullLights (const size_t numNodes, ObjectData t, LightListInfo &outGlobalLightList, const FrustumVec &frustums, const FrustumVec &cubemapFrustums) |
| @See SceneManager::cullLights & More... | |
| static uint32 | getDefaultQueryFlags () |
| Get the default query flags for all future MovableObject instances. More... | |
| static uint32 | getDefaultVisibilityFlags () |
| Get the default visibility flags for all future MovableObject instances. More... | |
| static void | setDefaultQueryFlags (uint32 flags) |
| Set the default query flags for all future MovableObject instances. More... | |
| static void | setDefaultVisibilityFlags (uint32 flags) |
| Set the default visibility flags for all future MovableObject instances. More... | |
| static void | updateAllBounds (const size_t numNodes, ObjectData t) |
| @See SceneManager::updateAllBounds More... | |
Public Attributes | |
| size_t | mGlobalIndex |
| Index in the vector holding this MO reference (could be our parent node, or a global array tracking all movable objecst to avoid memory leaks). More... | |
| size_t | mParentIndex |
| Index in the vector holding this MO reference (could be our parent node, or a global array tracking all movable objecst to avoid memory leaks). More... | |
| RenderableArray | mRenderables |
| uint16 | mTexLightMaskDiffuseMipStart |
| Control the start of mip level for diffuse component for area lights The value is UNORM, thus the range [0; 65535] maps to [0; 1] where 1.0 means to use the highest mip level, and 0 the lowest mip. More... | |
| uint16 | mTextureLightMaskIdx |
| Real | tempSquareDist |
| Temp tag used for sorting. More... | |
Static Public Attributes | |
| static const FastArray< Real > | c_DefaultLodMesh |
Representation of a dynamic light source in the scene.
|
inherited |
@See SceneManager::cullFrustum
| frustum | Frustum to clip against |
| sceneVisibilityFlags | Combined scene's visibility flags (i.e. viewport | scene). Set LAYER_SHADOW_CASTER bit if you want to exclude non-shadow casters. |
| outCulledObjects | Out. List of objects that are (fully or partially) inside the frustum and should be rendered |
| lodCamera | Camera in which lod levels calculations are based (i.e. during shadow pass renders) Note however, we only use this camera to calulate if should be visible according to mUpperDistance |
Defines the type of light.
| Ogre::Light::Light | ( | IdType | id, |
| ObjectMemoryManager * | objectMemoryManager, | ||
| SceneManager * | manager | ||
| ) |
Normal constructor.
Should not be called directly, but rather the SceneManager::createLight method should be used.
| Ogre::Light::~Light | ( | ) |
Standard destructor.
| void Ogre::Light::_calcTempSquareDist | ( | const Vector3 & | worldPos | ) |
Internal method for calculating current squared distance from some world position.
Derive a shadow camera far distance from either the light, or from the main camera if the light doesn't have its own setting.
Derive a shadow camera near distance from either the light, or from the main camera if the light doesn't have its own setting.
|
inlineinherited |
Returns a pointer to the current list of lights for this object.
|
inlineinherited |
Get the manager of this object, if any (internal use only)
|
inlineinherited |
Returns a direct access to the ObjectData state.
| bool Ogre::Light::_getOwnShadowFarDistance | ( | void | ) | const |
|
inherited |
Returns the full transformation of the parent sceneNode or the attachingPoint node.
|
virtualinherited |
Internal method called to notify the object that it has been attached to a node.
Reimplemented in Ogre::v1::Entity, Ogre::ParticleSystem, and Ogre::v1::InstancedEntity.
|
inlineinherited |
Notify the object of it's manager (internal use only)
|
inlinevirtualinherited |
@See Node::_callMemoryChangeListeners
Reimplemented in Ogre::Item, and Ogre::v1::InstancedEntity.
|
inlinevirtualinherited |
Called by SceneManager when it is telling we're a static MovableObject being dirty Don't call this directly.
Reimplemented in Ogre::v1::InstancedEntity.
|
virtual |
Update a custom GpuProgramParameters constant which is derived from information only this Light knows.
| paramIndex | The index of the constant being updated |
| constantEntry | The auto constant entry from the program parameters |
| params | The parameters object which this method should call to set the updated parameters. |
|
inlinevirtual |
Internal method by which the movable object must add Renderable subclass instances to the rendering queue.
Reimplemented from Ogre::MovableObject.
|
inlineinherited |
As setQueryFlags, except the flags passed as parameters are appended to the existing flags on this object.
|
inlineinherited |
As setVisibilityFlags, except the flags passed as parameters are appended to the existing flags on this object.
|
staticinherited |
@See SceneManager::buildLightList
| globalLightList | List of lights already culled against all possible frustums and reorganized contiguously for SoA |
|
staticinherited |
|
virtual |
Create a reference-counted AnimableValuePtr for the named value.
Reimplemented from Ogre::AnimableObject.
|
staticinherited |
|
staticinherited |
@See SceneManager::cullLights &
| outGlobalLightList | Output, a list of lights, contiguously placed |
| frustums | An array of all frustums we need to check against |
| cubemapFrustums | An array of all frustums that are used at least once as cubemaps (@See SceneManager::createCamera) |
|
inherited |
Detaches an object from a parent SceneNode if attached.
|
inline |
|
inlineinherited |
Gets a list of animable value names for this object.
References Ogre::Exception::ERR_ITEM_NOT_FOUND, and OGRE_EXCEPT.
| Vector4 Ogre::Light::getAs4DVector | ( | void | ) | const |
|
inline |
Returns the constant factor in the attenuation formula.
|
inline |
Returns the linear factor in the attenuation formula.
|
inline |
Returns the quadric factor in the attenuation formula.
|
inline |
Returns the absolute upper range of the light.
|
inlineinherited |
Returns the distance to camera as calculated in @cullFrustum.
|
inlineinherited |
Returns the distance to camera as calculated in @cullFrustum.
|
inlineinherited |
Returns whether shadow casting is enabled for this object.
|
inlineinherited |
Gets the custom value associated with this Light at the given index.
| index | Index of the parameter to retrieve |
|
inlinestaticinherited |
Get the default query flags for all future MovableObject instances.
|
inlinestaticinherited |
Get the default visibility flags for all future MovableObject instances.
| Vector3 Ogre::Light::getDerivedDirection | ( | void | ) | const |
Retrieves the direction of the light including any transform from nodes it is attached to.
| Vector3 Ogre::Light::getDerivedDirectionUpdated | ( | void | ) | const |
| Vector2 Ogre::Light::getDerivedRectSize | ( | void | ) | const |
|
inline |
Returns the colour of the diffuse light given off by this light source (see setDiffuseColour for more info).
| Vector3 Ogre::Light::getDirection | ( | void | ) | const |
Returns the light's direction.
|
inline |
|
inlineinherited |
Get the unique id of this object.
|
inlineinherited |
Get a bitwise mask which will filter the lights affecting this object.
|
inlineinherited |
Gets the current listener for this object.
|
inherited |
Retrieves the local axis-aligned bounding box for this object.
|
inherited |
See getLocalAabb and getWorldRadius.
|
virtual |
Returns the type name of this object.
Implements Ogre::MovableObject.
|
inlineinherited |
Returns the name of this object.
|
inlineinherited |
Returns the node to which this object is attached.
|
inlineinherited |
|
inline |
Set the scaling factor which indicates the relative power of a light.
|
inlineinherited |
Returns the query flags relevant for this object.
|
inline |
|
inlineinherited |
Gets the distance at which batches are no longer rendered.
|
inlineinherited |
Returns the minimum pixel size an object needs to be in both screen axes in order to be rendered.
|
inlineinherited |
Gets the queue group for this entity, see setRenderQueueGroup for full details.
|
inline |
Get the far clip plane distance to be used by the shadow camera, if this light casts texture shadows.
| Real Ogre::Light::getShadowFarDistance | ( | void | ) | const |
Gets the maximum distance away from the camera that shadows by this light will be visible.
| Real Ogre::Light::getShadowFarDistanceSquared | ( | void | ) | const |
|
inline |
Get the near clip plane distance to be used by the shadow camera, if this light casts texture shadows.
|
inlineinherited |
|
inline |
Returns the colour of specular light given off by this light source.
|
inline |
Returns the falloff between the inner and outer cones of the spotlight.
|
inline |
Returns the angle covered by the spotlights inner cone.
|
inline |
Get the near clip plane distance to be used by spotlights that use light clipping.
|
inline |
Returns the angle covered by the spotlights outer cone.
|
inline |
|
inline |
Returns the light type.
| uint32 Ogre::Light::getTypeFlags | ( | void | ) | const |
Override to return specific type flag.
|
inlineinherited |
Return an instance of user objects binding associated with this class.
You can use it to associate one or more custom objects with this class instance.
|
inlineinherited |
Return an instance of user objects binding associated with this class.
You can use it to associate one or more custom objects with this class instance.
|
inlineinherited |
Returns the visibility flags relevant for this object.
Reserved visibility flags are not returned.
|
inlineinherited |
Gets this object whether to be visible or not, if it has a renderable component.
|
inherited |
Gets the axis aligned box in world space.
|
inherited |
Gets the axis aligned box in world space.
|
inherited |
Gets the bounding Radius scaled by max( scale.x, scale.y, scale.z ).
|
inherited |
Gets the bounding Radius scaled by max( scale.x, scale.y, scale.z ).
|
inlinevirtualinherited |
@See InstancingTheadedCullingMethod,
|
inlineinherited |
Returns true if this object is attached to a Node.
| bool Ogre::Light::isInLightRange | ( | const Ogre::AxisAlignedBox & | container | ) | const |
Check whether a bounding box is included in the lighted area of the light.
| bool Ogre::Light::isInLightRange | ( | const Ogre::Sphere & | sphere | ) | const |
Check whether a sphere is included in the lighted area of the light.
|
inherited |
Checks whether this MovableObject is static. @See setStatic.
|
inherited |
Returns whether or not this object is supposed to be visible or not.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
operator new, with debug line info
|
inlineinherited |
placement operator new
|
inlineinherited |
|
inlineinherited |
array operator new, with debug line info
|
inlineinherited |
Gets a list of lights, ordered relative to how close they are to this movable object.
|
inlineinherited |
As setQueryFlags, except the flags passed as parameters are removed from the existing flags on this object.
|
inlineinherited |
As setVisibilityFlags, except the flags passed as parameters are removed from the existing flags on this object.
| void Ogre::Light::resetShadowFarDistance | ( | void | ) |
Tells the light to use the shadow far distance of the SceneManager.
| void Ogre::Light::setAffectParentNode | ( | bool | bAffect | ) |
A Light must always have a Node attached to it.
The direction is taken from the node's orientation, and thus setDirection modifies the attached node directly.
| bAffect | When true, the scene node is affected and modified by changes to range and falloff. |
Sets the attenuation parameters of the light source i.e.
how it diminishes with distance.
| range | The absolute upper range of the light in world units. |
| constant | The constant factor in the attenuation formula: 1.0 means never attenuate, 0.0 is complete attenuation. |
| linear | The linear factor in the attenuation formula: 1 means attenuate evenly over the distance. |
| quadratic | The quadratic factor in the attenuation formula: adds a curvature to the attenuation formula. |
Sets the attenuation parameters (range, constant, linear & quadratic,.
(distance / radius)² * 0.5 + 0.5
The original formula never ends, that is the range is infinity. This function calculates a range based on "lumThreshold": When the luminosity past certain distance is below the established threshold, the light calculations are cut.
| radius | The radius of the light. i.e. A light bulb is a couple centimeters, the sun is ~696km; but be sure to be consistent in the unit of measurement you use (i.e. don't use km if your default unit is in meters). Note: Having a radius = 2 means that at distance = 2 the pixel is lit 100% Anything inside that radius (which is supposedly impossible) will have more than 100% light power. |
| lumThreshold | Value in the range [0; 1) Sets range at which the luminance (in percentage) of a point would go below the threshold. For example lumThreshold = 0 means the attenuation range is infinity; lumThreshold = 1 means the range is set to 0. |
|
inlineinherited |
Sets whether or not this object will cast shadows.
Sets a custom parameter for this Light, which may be used to drive calculations for this specific Renderable, like GPU program parameters.
| index | The index with which to associate the value. Note that this does not have to start at 0, and can include gaps. It also has no direct correlation with a GPU program parameter index - the mapping between the two is performed by the ACT_LIGHT_CUSTOM entry, if that is used. |
| value | The value to associate. |
|
inlinestaticinherited |
Set the default query flags for all future MovableObject instances.
|
inlinestaticinherited |
Set the default visibility flags for all future MovableObject instances.
|
inline |
Sets the colour of the diffuse light given off by this source.
Sets the colour of the diffuse light given off by this source.
| void Ogre::Light::setDirection | ( | const Vector3 & | vec | ) |
Sets the direction in which a light points.
| void Ogre::Light::setDoubleSided | ( | bool | bDoubleSided | ) |
For area lights and custom 2d shapes, specifies whether the light lits in both directions (positive & negative sides of the plane) or if only towards one.
| bDoubleSided | True to enable. Default: false. |
|
inlineinherited |
Set a bitwise mask which will filter the lights affecting this object.
|
inlineinherited |
Sets a listener for this object.
|
inherited |
Sets the local axis-aligned bounding box for this object.
|
inlineinherited |
Sets a custom name for this node.
Doesn't have to be unique
| void Ogre::Light::setPowerScale | ( | Real | power | ) |
Set a scaling factor to indicate the relative power of a light.
| power | The power rating of this light, default is 1.0. |
|
inlineinherited |
Sets the query flags for this object.
| void Ogre::Light::setRectSize | ( | Vector2 | rectSize | ) |
For custom 2D shape and area lights, sets the dimensions of the rectangle, in half size.
| halfSize |
|
inlineinherited |
Sets the distance at which the object is no longer rendered.
| dist | Distance beyond which the object will not be rendered (the default is FLT_MAX, which means objects are always rendered). Values equal or below zero will be ignored, and cause an assertion in debug mode. |
|
inlineinherited |
Sets the minimum pixel size an object needs to be in both screen axes in order to be rendered.
| pixelSize | Number of minimum pixels (the default is 0, which means objects are always rendered). |
|
virtual |
Overload to avoid it. Light::setType uses the RenderQueue ID to classify lights per type.
Reimplemented from Ogre::MovableObject.
|
inline |
Set the far clip plane distance to be used by the shadow camera, if this light casts texture shadows.
| farClip | The distance, or -1 to use the main camera setting. |
| void Ogre::Light::setShadowFarDistance | ( | Real | distance | ) |
Sets the maximum distance away from the camera that shadows by this light will be visible.
|
inline |
Set the near clip plane distance to be used by the shadow camera, if this light casts texture shadows.
| nearClip | The distance, or -1 to use the main camera setting. |
|
inline |
Sets the colour of the specular light given off by this source.
Sets the colour of the specular light given off by this source.
|
inline |
Sets the falloff between the inner and outer cones of the spotlight.
| void Ogre::Light::setSpotlightInnerAngle | ( | const Radian & | val | ) |
Sets the angle covered by the spotlights inner cone.
|
inline |
Set the near clip plane distance to be used by spotlights that use light clipping, allowing you to render spots as if they start from further down their frustum.
| nearClip | The near distance. |
| void Ogre::Light::setSpotlightOuterAngle | ( | const Radian & | val | ) |
Sets the angle covered by the spotlights outer cone.
| void Ogre::Light::setSpotlightRange | ( | const Radian & | innerAngle, |
| const Radian & | outerAngle, | ||
| Real | falloff = 1.0 |
||
| ) |
Sets the range of a spotlight, i.e.
the angle of the inner and outer cones and the rate of falloff between them.
| innerAngle | Angle covered by the bright inner cone |
| outerAngle | Angle covered by the outer cone |
| falloff | The rate of falloff between the inner and outer cones. 1.0 means a linear falloff, less means slower falloff, higher means faster falloff. |
|
inherited |
Turns this Node into static or dynamic.
| void Ogre::Light::setType | ( | LightTypes | type | ) |
Sets the type of light - see LightTypes for more info.
|
inlineinherited |
Sets the visibility flags for this object.
|
inlineinherited |
Tells this object whether to be visible or not, if it has a renderable component.
|
staticinherited |
@See SceneManager::updateAllBounds
|
inherited |
Index in the vector holding this MO reference (could be our parent node, or a global array tracking all movable objecst to avoid memory leaks).
Used for O(1) removals.
|
inherited |
Index in the vector holding this MO reference (could be our parent node, or a global array tracking all movable objecst to avoid memory leaks).
Used for O(1) removals.
|
inherited |
| uint16 Ogre::Light::mTexLightMaskDiffuseMipStart |
Control the start of mip level for diffuse component for area lights The value is UNORM, thus the range [0; 65535] maps to [0; 1] where 1.0 means to use the highest mip level, and 0 the lowest mip.
| uint16 Ogre::Light::mTextureLightMaskIdx |
| Real Ogre::Light::tempSquareDist |
Temp tag used for sorting.