![]() |
OGRE-Next 4.0.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 , LT_AREA_LTC = 5 , NUM_LIGHT_TYPES } |
| Defines the type of light. More... | |
Public Types inherited from Ogre::MovableObject | |
| typedef FastArray< MovableObject * > | MovableObjectArray |
Public Types inherited from Ogre::TextureGpuListener | |
| enum | Reason { Unknown , FromStorageToSysRam , FromSysRamToStorage , GainedResidency , LostResidency , PoolTextureSlotChanged , ResidentToSysRamSync , MetadataCacheOutOfDate , ExceptionThrown , FsaaSettingAlteredByApi , ReadyForRendering , Deleted } |
Public Member Functions | |
| Light (IdType id, ObjectMemoryManager *objectMemoryManager, SceneManager *manager) | |
| Normal constructor. | |
| ~Light () override | |
| Standard destructor. | |
| void | _calcTempSquareDist (const Vector3 &worldPos) |
| Internal method for calculating current squared distance from some world position. | |
| 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. | |
| 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. | |
| bool | _getOwnShadowFarDistance () const |
| void | _setLightProfileIdx (uint16 profileIdx) |
| 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. | |
| void | _updateRenderQueue (RenderQueue *queue, Camera *camera, const Camera *lodCamera) override |
| Internal method by which the movable object must add Renderable subclass instances to the rendering queue. | |
| AnimableValuePtr | createAnimableValue (const String &valueName) override |
| Create a reference-counted AnimableValuePtr for the named value. | |
| bool | getAffectParentNode () const |
| Vector4 | getAs4DVector () const |
| Tells this object whether to be visible or not, if it has a renderable component. | |
| Real | getAttenuationConstant () const |
| Returns the constant factor in the attenuation formula. | |
| Real | getAttenuationLinear () const |
| Returns the linear factor in the attenuation formula. | |
| Real | getAttenuationQuadric () const |
| Returns the quadric factor in the attenuation formula. | |
| Real | getAttenuationRange () const |
| Returns the absolute upper range of the light. | |
| const Vector4 & | getCustomParameter (uint16 index) const |
| Gets the custom value associated with this Light at the given index. | |
| const Vector4 * | getCustomParameterNoThrow (uint16 index) const |
| Vector3 | getDerivedDirection () const |
| Retrieves the direction of the light including any transform from nodes it is attached to. | |
| Vector3 | getDerivedDirectionUpdated () const |
| Vector2 | getDerivedRectSize () const |
| const ColourValue & | getDiffuseColour () const |
| Returns the colour of the diffuse light given off by this light source (see setDiffuseColour for more info). | |
| Vector3 | getDirection () const |
| Returns the light's direction. | |
| bool | getDoubleSided () const |
| uint16 | getLightProfileIdx () const |
| const String & | getMovableType () const override |
| Returns the type name of this object. | |
| Real | getPowerScale () const |
| Set the scaling factor which indicates the relative power of a light. | |
| const Vector2 & | getRectSize () const |
| Real | getShadowFarClipDistance () const |
| Get the far clip plane distance to be used by the shadow camera, if this light casts texture shadows. | |
| Real | getShadowFarDistance () const |
| Gets the maximum distance away from the camera that shadows by this light will be visible. | |
| Real | getShadowFarDistanceSquared () const |
| Real | getShadowNearClipDistance () const |
| Get the near clip plane distance to be used by the shadow camera, if this light casts texture shadows. | |
| const ColourValue & | getSpecularColour () const |
| Returns the colour of specular light given off by this light source. | |
| Real | getSpotlightFalloff () const |
| Returns the falloff between the inner and outer cones of the spotlight. | |
| const Radian & | getSpotlightInnerAngle () const |
| Returns the angle covered by the spotlights inner cone. | |
| Real | getSpotlightNearClipDistance () const |
| Get the near clip plane distance to be used by spotlights that use light clipping. | |
| const Radian & | getSpotlightOuterAngle () const |
| Returns the angle covered by the spotlights outer cone. | |
| Real | getSpotlightSinHalfAngle () const |
| Real | getSpotlightTanHalfAngle () const |
| TextureGpu * | getTexture () const |
| LightTypes | getType () const |
| Returns the light type. | |
| bool | isInLightRange (const Ogre::AxisAlignedBox &container) const |
| Check whether a bounding box is included in the lighted area of the light. | |
| bool | isInLightRange (const Ogre::Sphere &sphere) const |
| Check whether a sphere is included in the lighted area of the light. | |
| void | notifyTextureChanged (TextureGpu *texture, TextureGpuListener::Reason reason, void *extraData) override |
| Called when a TextureGpu changed in a way that affects how it is displayed: | |
| void | resetShadowFarDistance () |
| Tells the light to use the shadow far distance of the SceneManager. | |
| void | setAffectParentNode (bool bAffect) |
| A Light must always have a Node attached to it. | |
| void | setAttenuation (Real range, Real constant, Real linear, Real quadratic) |
| Sets the attenuation parameters of the light source i.e. | |
| void | setAttenuationBasedOnRadius (Real radius, Real lumThreshold) |
| Sets the attenuation parameters (range, constant, linear & quadratic,. | |
| 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. | |
| void | setDiffuseColour (const ColourValue &colour) |
| Sets the colour of the diffuse light given off by this source. | |
| void | setDiffuseColour (Real red, Real green, Real blue) |
| Sets the colour of the diffuse light given off by this source. | |
| void | setDirection (const Vector3 &vec) |
| Sets the direction in which a light points. | |
| 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. | |
| void | setPowerScale (Real power) |
| Set a scaling factor to indicate the relative power of a light. | |
| void | setRectSize (Vector2 rectSize) |
| For custom 2D shape and area lights, sets the dimensions of the rectangle. | |
| void | setRenderQueueGroup (uint8 queueID) override |
| Overload to avoid it. Light::setType uses the RenderQueue ID to classify lights per type. | |
| void | setShadowFarClipDistance (Real farClip) |
| Set the far clip plane distance to be used by the shadow camera, if this light casts texture shadows. | |
| void | setShadowFarDistance (Real distance) |
| Sets the maximum distance away from the camera that shadows by this light will be visible. | |
| void | setShadowNearClipDistance (Real nearClip) |
| Set the near clip plane distance to be used by the shadow camera, if this light casts texture shadows. | |
| void | setSpecularColour (const ColourValue &colour) |
| Sets the colour of the specular light given off by this source. | |
| void | setSpecularColour (Real red, Real green, Real blue) |
| Sets the colour of the specular light given off by this source. | |
| void | setSpotlightFalloff (Real val) |
| Sets the falloff between the inner and outer cones of the spotlight. | |
| void | setSpotlightInnerAngle (const Radian &val) |
| Sets the angle covered by the spotlights inner cone. | |
| 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. | |
| void | setSpotlightOuterAngle (const Radian &val) |
| Sets the angle covered by the spotlights outer cone. | |
| void | setSpotlightRange (const Radian &innerAngle, const Radian &outerAngle, Real falloff=1.0) |
| Sets the range of a spotlight, i.e. | |
| void | setTexture (TextureGpu *texture) |
| Sets a textured for types of light that support it. | |
| void | setTextureRaw (TextureGpu *texture, uint32 sliceIdx) |
| void | setType (LightTypes type) |
| Sets the type of light - see LightTypes for more info. | |
Public Member Functions inherited from Ogre::MovableObject | |
| MovableObject (IdType id, ObjectMemoryManager *objectMemoryManager, SceneManager *manager, uint8 renderQueueId) | |
| Constructor. | |
| MovableObject (ObjectData *objectDataPtrs) | |
| Don't use this constructor unless you know what you're doing. | |
| virtual | ~MovableObject () |
| Virtual destructor - read Scott Meyers if you don't know why this is needed. | |
| LightList * | _getLightList () |
| Returns a pointer to the current list of lights for this object. | |
| SceneManager * | _getManager () const |
| Get the manager of this object, if any (internal use only) | |
| ObjectData & | _getObjectData () |
| Returns a direct access to the ObjectData state. | |
| const Matrix4 & | _getParentNodeFullTransform () const |
| Returns the full transformation of the parent sceneNode or the attachingPoint node. | |
| virtual void | _notifyAttached (Node *parent) |
| Internal method called to notify the object that it has been attached to a node. | |
| void | _notifyManager (SceneManager *man) |
| Notify the object of it's manager (internal use only) | |
| virtual void | _notifyParentNodeMemoryChanged () |
| virtual void | _notifyStaticDirty () const |
| Called by SceneManager when it is telling we're a static MovableObject being dirty Don't call this directly. | |
| virtual void | _releaseManualHardwareResources () |
| Notifies the movable object that hardware resources were lost. | |
| virtual void | _restoreManualHardwareResources () |
| Notifies the movable object that hardware resources should be restored. | |
| void | addQueryFlags (uint32 flags) |
| As setQueryFlags, except the flags passed as parameters are appended to the existing flags on this object. | |
| void | addVisibilityFlags (uint32 flags) |
| As setVisibilityFlags, except the flags passed as parameters are appended to the existing flags on this object. | |
| void | detachFromParent () |
| Detaches an object from a parent SceneNode if attached. | |
| RealAsUint | getCachedDistanceToCamera () const |
| Returns the distance to camera as calculated in cullFrustum() | |
| Real | getCachedDistanceToCameraAsReal () const |
| Returns the distance to camera as calculated in cullFrustum() | |
| bool | getCastShadows () const |
| Returns whether shadow casting is enabled for this object. | |
| unsigned char | getCurrentMeshLod () const |
| uint32 | getLightMask () const |
| Get a bitwise mask which will filter the lights affecting this object. | |
| Listener * | getListener () const |
| Gets the current listener for this object. | |
| Aabb | getLocalAabb () const |
| Retrieves the local axis-aligned bounding box for this object. | |
| float | getLocalRadius () const |
| See getLocalAabb and getWorldRadius. | |
| const String & | getName () const |
| Returns the name of this object. | |
| Node * | getParentNode () const |
| Returns the node to which this object is attached. | |
| SceneNode * | getParentSceneNode () const |
| uint32 | getQueryFlags () const |
| Returns the query flags relevant for this object. | |
| Real | getRenderingDistance () const |
| Gets the distance at which batches are no longer rendered. | |
| Real | getRenderingMinPixelSize () const |
| Returns the minimum pixel size an object needs to be in both screen axes in order to be rendered. | |
| uint8 | getRenderQueueGroup () const |
| Gets the queue group for this entity, see setRenderQueueGroup for full details. | |
| Real | getShadowRenderingDistance () const |
| Gets the distance at which batches are no longer casting shadows. | |
| SkeletonInstance * | getSkeletonInstance () const |
| UserObjectBindings & | getUserObjectBindings () |
| Return an instance of user objects binding associated with this class. | |
| const UserObjectBindings & | getUserObjectBindings () const |
| Return an instance of user objects binding associated with this class. | |
| uint32 | getVisibilityFlags () const |
| Returns the visibility flags relevant for this object. | |
| bool | getVisible () const |
| Gets this object whether to be visible or not, if it has a renderable component. | |
| Aabb | getWorldAabb () const |
| Gets the axis aligned box in world space. | |
| Aabb | getWorldAabbUpdated () |
| Gets the axis aligned box in world space. | |
| float | getWorldRadius () const |
| Gets the bounding Radius scaled by max( scale.x, scale.y, scale.z ). | |
| float | getWorldRadiusUpdated () |
| Gets the bounding Radius scaled by max( scale.x, scale.y, scale.z ). | |
| virtual void | instanceBatchCullFrustumThreaded (const Frustum *frustum, const Camera *lodCamera, uint32 combinedVisibilityFlags) |
| bool | isAttached () const |
| Returns true if this object is attached to a Node. | |
| bool | isStatic () const |
| Checks whether this MovableObject is static. | |
| bool | isVisible () const |
| Returns whether or not this object is supposed to be visible or not. | |
| const LightList & | queryLights () const |
| Gets a list of lights, ordered relative to how close they are to this movable object. | |
| void | removeQueryFlags (uint32 flags) |
| As setQueryFlags, except the flags passed as parameters are removed from the existing flags on this object. | |
| void | removeVisibilityFlags (uint32 flags) |
| As setVisibilityFlags, except the flags passed as parameters are removed from the existing flags on this object. | |
| void | resetMeshLod () |
| Sets mCurrentMeshLod to 0. | |
| void | setCastShadows (bool enabled) |
| Sets whether or not this object will cast shadows. | |
| void | setLightMask (uint32 lightMask) |
| Set a bitwise mask which will filter the lights affecting this object. | |
| void | setListener (Listener *listener) |
| Sets a listener for this object. | |
| void | setLocalAabb (const Aabb box) |
| Sets the local axis-aligned bounding box for this object. | |
| void | setName (const String &name) |
| Sets a custom name for this node. | |
| void | setQueryFlags (uint32 flags) |
| Sets the query flags for this object. | |
| void | setRenderingDistance (Real dist) |
| Sets the distance at which the object is no longer rendered. | |
| void | setRenderingMinPixelSize (Real pixelSize) |
| Sets the minimum pixel size an object needs to be in both screen axes in order to be rendered. | |
| void | setShadowRenderingDistance (Real dist) |
| Sets the distance at which the object is no longer casting shadows. | |
| bool | setStatic (bool bStatic) |
| Turns this Node into static or dynamic. | |
| void | setVisibilityFlags (uint32 flags) |
| Sets the visibility flags for this object. | |
| void | setVisible (bool visible) |
| Tells this object whether to be visible or not, if it has a renderable component. | |
Public Member Functions inherited from Ogre::AnimableObject | |
| AnimableObject () | |
| virtual | ~AnimableObject () |
| const StringVector & | getAnimableValueNames () const |
| Gets a list of animable value names for this object. | |
Public Member Functions inherited from Ogre::IdObject | |
| IdObject (IdType id) | |
| We don't call generateNewId() here, to prevent objects in the stack (i.e. | |
| IdType | getId () const |
| Get the unique id of this object. | |
| bool | operator() (const IdObject &left, const IdObject &right) |
| bool | operator() (const IdObject *left, const IdObject *right) |
Public Member Functions inherited from Ogre::TextureGpuListener | |
| virtual | ~TextureGpuListener () |
| virtual bool | shouldStayLoaded (TextureGpu *texture) |
| Return true if this TextureGpu should likely stay loaded or else graphical changes could occur. | |
Public Attributes | |
| 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. | |
| uint16 | mTextureLightMaskIdx |
| Real | tempSquareDist |
| Temp tag used for sorting. | |
Public Attributes inherited from Ogre::MovableObject | |
| 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). | |
| 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). | |
| RenderableArray | mRenderables |
Additional Inherited Members | |
Static Public Member Functions inherited from Ogre::MovableObject | |
| static void | buildLightList (const size_t numNodes, ObjectData t, const LightListInfo &globalLightList) |
| 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, MovableObjectArray &outCulledObjects, const CullFrustumPreparedData &pd) |
| static void | cullFrustumPrepare (const Camera *frustum, uint32 sceneVisibilityFlags, const Camera *lodCamera, CullFrustumPreparedData &pd) |
| static void | cullLights (const size_t numNodes, ObjectData t, uint32 sceneLightMask, LightListInfo &outGlobalLightList, const FrustumVec &frustums, const FrustumVec &cubemapFrustums) |
| See SceneManager::cullLights & see MovableObject::cullFrustum. | |
| static uint32 | getDefaultLightMask () |
| Get the default light mask for all future MovableObject instances. | |
| static uint32 | getDefaultQueryFlags () |
| Get the default query flags for all future MovableObject instances. | |
| static uint32 | getDefaultVisibilityFlags () |
| Get the default visibility flags for all future MovableObject instances. | |
| static void | setDefaultLightMask (uint32 mask) |
| Set the default light mask for all future MovableObject instances. | |
| static void | setDefaultQueryFlags (uint32 flags) |
| Set the default query flags for all future MovableObject instances. | |
| static void | setDefaultVisibilityFlags (uint32 flags) |
| Set the default visibility flags for all future MovableObject instances. | |
| static void | updateAllBounds (const size_t numNodes, ObjectData t) |
Static Public Attributes inherited from Ogre::MovableObject | |
| static const FastArray< Real > | c_DefaultLodMesh |
Representation of a dynamic light source in the scene.
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.
|
override |
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.
| bool Ogre::Light::_getOwnShadowFarDistance | ( | ) | const |
|
inline |
|
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. |
|
inlineoverridevirtual |
Internal method by which the movable object must add Renderable subclass instances to the rendering queue.
Reimplemented from Ogre::MovableObject.
|
overridevirtual |
Create a reference-counted AnimableValuePtr for the named value.
Reimplemented from Ogre::AnimableObject.
|
inline |
| Vector4 Ogre::Light::getAs4DVector | ( | ) | const |
Tells this object whether to be visible or not, if it has a renderable component.
|
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.
Gets the custom value associated with this Light at the given index.
| index | Index of the parameter to retrieve |
| Vector3 Ogre::Light::getDerivedDirection | ( | ) | const |
Retrieves the direction of the light including any transform from nodes it is attached to.
| Vector3 Ogre::Light::getDerivedDirectionUpdated | ( | ) | const |
| Vector2 Ogre::Light::getDerivedRectSize | ( | ) | const |
|
inline |
Returns the colour of the diffuse light given off by this light source (see setDiffuseColour for more info).
| Vector3 Ogre::Light::getDirection | ( | ) | const |
Returns the light's direction.
|
inline |
|
inline |
|
overridevirtual |
Returns the type name of this object.
Implements Ogre::MovableObject.
|
inline |
Set the scaling factor which indicates the relative power of a light.
|
inline |
|
inline |
Get the far clip plane distance to be used by the shadow camera, if this light casts texture shadows.
| Real Ogre::Light::getShadowFarDistance | ( | ) | const |
Gets the maximum distance away from the camera that shadows by this light will be visible.
| Real Ogre::Light::getShadowFarDistanceSquared | ( | ) | const |
|
inline |
Get the near clip plane distance to be used by the shadow camera, if this light casts texture shadows.
|
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 |
|
inline |
|
inline |
Returns the light type.
| 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.
|
overridevirtual |
Called when a TextureGpu changed in a way that affects how it is displayed:
Implements Ogre::TextureGpuListener.
| void Ogre::Light::resetShadowFarDistance | ( | ) |
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. |
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. |
|
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. |
| 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. |
| void Ogre::Light::setRectSize | ( | Vector2 | rectSize | ) |
For custom 2D shape and area lights, sets the dimensions of the rectangle.
| rectSize | Dimensions of light area. |
|
overridevirtual |
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. See outerAngle for details. |
| outerAngle | Angle covered by the outer cone. This is NOT a half angle. The full range in degrees can be [0°; 360°]. However spotlight shadowmaps may struggle with angles roughly >70° due to FOV camera rendering issues. Angles >= 90° are very likely to have visible artifacts, and it will definitely misbehave for angles >= 180°. |
| 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. |
| void Ogre::Light::setTexture | ( | TextureGpu * | texture | ) |
Sets a textured for types of light that support it.
At the time of writing only LT_AREA_APPROX supports it.
| texture | Texture. Can be monochrome or coloured. For Raw version must be a 2D Array texture. For non-Raw version, must be a 2D texture. |
| sliceIdx | Slice to the texture. |
| void Ogre::Light::setTextureRaw | ( | TextureGpu * | texture, |
| uint32 | sliceIdx | ||
| ) |
| void Ogre::Light::setType | ( | LightTypes | type | ) |
Sets the type of light - see LightTypes for more info.
| 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.