#include <OgreLight.h>
Inheritance diagram for Ogre::Light:

Public Types | |
| enum | LightTypes { LT_POINT, LT_DIRECTIONAL, LT_SPOTLIGHT } |
| Defines the type of light. More... | |
| typedef std::vector< ShadowRenderable * > | ShadowRenderableList |
| typedef VectorIterator< ShadowRenderableList > | ShadowRenderableListIterator |
Public Member Functions | |
| Light () | |
| Default constructor (for Python mainly). | |
| Light (const String &name) | |
| Normal constructor. | |
| ~Light () | |
| Standard destructor. | |
| const String & | getName (void) const |
| Returns the name of this light (cannot be modified). | |
| void | setType (LightTypes type) |
| Sets the type of light - see LightTypes for more info. | |
| LightTypes | getType (void) const |
| Returns the light type. | |
| void | setDiffuseColour (Real red, Real green, Real blue) |
| Sets the colour of the diffuse light given off by this source. | |
| void | setDiffuseColour (const ColourValue &colour) |
| Sets the colour of the diffuse light given off by this source. | |
| const ColourValue & | getDiffuseColour (void) const |
| Returns the colour of the diffuse light given off by this light source (see setDiffuseColour for more info). | |
| void | setSpecularColour (Real red, Real green, Real blue) |
| Sets the colour of the specular light given off by this source. | |
| void | setSpecularColour (const ColourValue &colour) |
| Sets the colour of the specular light given off by this source. | |
| const ColourValue & | getSpecularColour (void) const |
| Returns the colour of specular light given off by this light source. | |
| void | setAttenuation (Real range, Real constant, Real linear, Real quadratic) |
| Sets the attenuation parameters of the light source ie how it diminishes with distance. | |
| Real | getAttenuationRange (void) const |
| Returns the absolute upper range of the light. | |
| Real | getAttenuationConstant (void) const |
| Returns the constant factor in the attenuation formula. | |
| Real | getAttenuationLinear (void) const |
| Returns the linear factor in the attenuation formula. | |
| Real | getAttenuationQuadric (void) const |
| Returns the quadric factor in the attenuation formula. | |
| void | setPosition (Real x, Real y, Real z) |
| Sets the position of the light. | |
| void | setPosition (const Vector3 &vec) |
| Sets the position of the light. | |
| const Vector3 & | getPosition (void) const |
| Returns the position of the light. | |
| void | setDirection (Real x, Real y, Real z) |
| Sets the direction in which a light points. | |
| void | setDirection (const Vector3 &vec) |
| Sets the direction in which a light points. | |
| const Vector3 & | getDirection (void) const |
| Returns the light's direction. | |
| void | setSpotlightRange (const Radian &innerAngle, const Radian &outerAngle, Real falloff=1.0) |
| Sets the range of a spotlight, i.e. | |
| const Radian & | getSpotlightInnerAngle (void) const |
| Returns the angle covered by the spotlights inner cone. | |
| const Radian & | getSpotlightOuterAngle (void) const |
| Returns the angle covered by the spotlights outer cone. | |
| Real | getSpotlightFalloff (void) const |
| Returns the falloff between the inner and outer cones of the spotlight. | |
| void | _notifyCurrentCamera (Camera *cam) |
| Overridden from MovableObject. | |
| const AxisAlignedBox & | getBoundingBox (void) const |
| Overridden from MovableObject. | |
| void | _updateRenderQueue (RenderQueue *queue) |
| Overridden from MovableObject. | |
| const String & | getMovableType (void) const |
| Overridden from MovableObject. | |
| const Vector3 & | getDerivedPosition (void) const |
| Retrieves the position of the light including any transform from nodes it is attached to. | |
| const Vector3 & | getDerivedDirection (void) const |
| Retrieves the direction of the light including any transform from nodes it is attached to. | |
| void | setVisible (bool visible) |
| Overridden from MovableObject. | |
| Real | getBoundingRadius (void) const |
| Overridden from MovableObject. | |
| Vector4 | getAs4DVector (void) const |
| Gets the details of this light as a 4D vector. | |
| const PlaneBoundedVolume & | _getNearClipVolume (const Camera *const cam) const |
| Internal method for calculating the 'near clip volume', which is the volume formed between the near clip rectangle of the camera and the light. | |
| const PlaneBoundedVolumeList & | _getFrustumClipVolumes (const Camera *const cam) const |
| Internal method for calculating the clip volumes outside of the frustum which can be used to determine which objects are casting shadow on the frustum as a whole. | |
| virtual Node * | getParentNode (void) const |
| Returns the node to which this object is attached. | |
| virtual SceneNode * | getParentSceneNode (void) const |
| Returns the scene node to which this object is attached. | |
| virtual void | _notifyAttached (Node *parent, bool isTagPoint=false) |
| Internal method called to notify the object that it has been attached to a node. | |
| virtual bool | isAttached (void) const |
| Returns true if this object is attached to a SceneNode or TagPoint. | |
| virtual bool | isInScene (void) const |
| Returns true if this object is attached to a SceneNode or TagPoint, and this SceneNode / TagPoint is currently in an active part of the scene graph. | |
| virtual const AxisAlignedBox & | getWorldBoundingBox (bool derive=false) const |
| Retrieves the axis-aligned bounding box for this object in world coordinates. | |
| virtual const Sphere & | getWorldBoundingSphere (bool derive=false) const |
| Retrieves the worldspace bounding sphere for this object. | |
| virtual bool | isVisible (void) const |
| Returns whether or not this object is supposed to be visible or not. | |
| virtual void | setUserObject (UserDefinedObject *obj) |
| Call this to associate your own custom user object instance with this MovableObject. | |
| virtual UserDefinedObject * | getUserObject (void) |
| Retrieves a pointer to a custom application object associated with this movable by an earlier call to setUserObject. | |
| virtual void | setRenderQueueGroup (RenderQueueGroupID queueID) |
| Sets the render queue group this entity will be rendered through. | |
| virtual RenderQueueGroupID | getRenderQueueGroup (void) const |
| Gets the queue group for this entity, see setRenderQueueGroup for full details. | |
| virtual Matrix4 | _getParentNodeFullTransform (void) const |
| return the full transformation of the parent sceneNode or the attachingPoint node | |
| virtual void | setQueryFlags (unsigned long flags) |
| Sets the query flags for this object. | |
| virtual void | addQueryFlags (unsigned long flags) |
| As setQueryFlags, except the flags passed as parameters are appended to the existing flags on this object. | |
| virtual void | removeQueryFlags (unsigned long flags) |
| As setQueryFlags, except the flags passed as parameters are removed from the existing flags on this object. | |
| virtual unsigned long | getQueryFlags (void) const |
| Returns the query flags relevant for this object. | |
| EdgeData * | getEdgeList (void) |
| Define a default implementation of method from ShadowCaster which implements no shadows. | |
| ShadowRenderableListIterator | getShadowVolumeRenderableIterator (ShadowTechnique shadowTechnique, const Light *light, HardwareIndexBufferSharedPtr *indexBuffer, bool extrudeVertices, Real extrusionDist, unsigned long flags=0) |
| Define a default implementation of method from ShadowCaster which implements no shadows. | |
| const AxisAlignedBox & | getLightCapBounds (void) const |
| Overridden member from ShadowCaster. | |
| const AxisAlignedBox & | getDarkCapBounds (const Light &light, Real dirLightExtrusionDist) const |
| Overridden member from ShadowCaster. | |
| void | setCastShadows (bool enabled) |
| Sets whether or not this object will cast shadows. | |
| bool | getCastShadows (void) const |
| Returns whether shadow casting is enabled for this object. | |
| Real | getPointExtrusionDistance (const Light *l) const |
| Get the distance to extrude for a point/spot light. | |
Static Public Member Functions | |
| void | extrudeVertices (HardwareVertexBufferSharedPtr vertexBuffer, size_t originalVertexCount, const Vector4 &lightPos, Real extrudeDist) |
| Utility method for extruding vertices based on a light. | |
Public Attributes | |
| Real | tempSquareDist |
| Temp tag used for sorting. | |
Protected Member Functions | |
| Real | getExtrusionDistance (const Vector3 &objectPos, const Light *light) const |
| Helper moethod for calculating extrusion distance. | |
| virtual void | updateEdgeListLightFacing (EdgeData *edgeData, const Vector4 &lightPos) |
| Tells the caster to perform the tasks necessary to update the edge data's light listing. | |
| virtual void | generateShadowVolume (EdgeData *edgeData, HardwareIndexBufferSharedPtr indexBuffer, const Light *light, ShadowRenderableList &shadowRenderables, unsigned long flags) |
| Generates the indexes required to render a shadow volume into the index buffer which is passed in, and updates shadow renderables to use it. | |
| virtual void | extrudeBounds (AxisAlignedBox &box, const Vector4 &lightPos, Real extrudeDist) const |
| Utility method for extruding a bounding box. | |
Protected Attributes | |
| Node * | mParentNode |
| node to which this object is attached | |
| bool | mParentIsTagPoint |
| bool | mVisible |
| Is this object visible? | |
| UserDefinedObject * | mUserObject |
| User defined object which is linked to this object. | |
| RenderQueueGroupID | mRenderQueueID |
| The render queue to use when rendering this object. | |
| bool | mRenderQueueIDSet |
| Flags whether the RenderQueue's default should be used. | |
| unsigned long | mQueryFlags |
| Flags determining whether this object is included / excluded from scene queries. | |
| AxisAlignedBox | mWorldAABB |
| Cached world AABB of this object. | |
| Sphere | mWorldBoundingSphere |
| AxisAlignedBox | mWorldDarkCapBounds |
| World space AABB of this object's dark cap. | |
| bool | mCastShadows |
| Does this object cast shadows? | |
Private Member Functions | |
| void | update (void) const |
| internal method for synchronising with parent node (if any) | |
Private Attributes | |
| String | mName |
| LightTypes | mLightType |
| Vector3 | mPosition |
| ColourValue | mDiffuse |
| ColourValue | mSpecular |
| Vector3 | mDirection |
| Radian | mSpotOuter |
| Radian | mSpotInner |
| Real | mSpotFalloff |
| Real | mRange |
| Real | mAttenuationConst |
| Real | mAttenuationLinear |
| Real | mAttenuationQuad |
| Vector3 | mDerivedPosition |
| Vector3 | mDerivedDirection |
| Quaternion | mLastParentOrientation |
| Stored versions of parent orientation / position. | |
| Vector3 | mLastParentPosition |
| PlaneBoundedVolume | mNearClipVolume |
| PlaneBoundedVolumeList | mFrustumClipVolumes |
| bool | mLocalTransformDirty |
| Is the local transform dirty? | |
Static Private Attributes | |
| String | msMovableType |
| Shared class-level name for Movable type. | |
Definition at line 62 of file OgreLight.h.
|
|
Definition at line 121 of file OgreShadowCaster.h. |
|
|
Definition at line 122 of file OgreShadowCaster.h. |
|
|
Defines the type of light.
Definition at line 69 of file OgreLight.h. |
|
|
Default constructor (for Python mainly).
|
|
|
Normal constructor. Should not be called directly, but rather the SceneManager::createLight method should be used. |
|
|
Standard destructor.
|
|
|
Internal method for calculating the clip volumes outside of the frustum which can be used to determine which objects are casting shadow on the frustum as a whole.
|
|
|
Internal method for calculating the 'near clip volume', which is the volume formed between the near clip rectangle of the camera and the light.
|
|
|
return the full transformation of the parent sceneNode or the attachingPoint node
|
|
||||||||||||
|
Internal method called to notify the object that it has been attached to a node.
Reimplemented in Ogre::Entity, and Ogre::ParticleSystem. |
|
|
Overridden from MovableObject.
Implements Ogre::MovableObject. |
|
|
Overridden from MovableObject.
Implements Ogre::MovableObject. |
|
|
As setQueryFlags, except the flags passed as parameters are appended to the existing flags on this object.
Definition at line 203 of file OgreMovableObject.h. |
|
||||||||||||||||
|
Utility method for extruding a bounding box.
|
|
||||||||||||||||||||
|
Utility method for extruding vertices based on a light.
|
|
||||||||||||||||||||||||
|
Generates the indexes required to render a shadow volume into the index buffer which is passed in, and updates shadow renderables to use it.
|
|
|
Gets the details of this light as a 4D vector.
|
|
|
Returns the constant factor in the attenuation formula.
|
|
|
Returns the linear factor in the attenuation formula.
|
|
|
Returns the quadric factor in the attenuation formula.
|
|
|
Returns the absolute upper range of the light.
|
|
|
Overridden from MovableObject.
Implements Ogre::MovableObject. |
|
|
Overridden from MovableObject.
Implements Ogre::MovableObject. Definition at line 289 of file OgreLight.h. References Ogre::Real. |
|
|
Returns whether shadow casting is enabled for this object.
Implements Ogre::ShadowCaster. Definition at line 238 of file OgreMovableObject.h. |
|
||||||||||||
|
Overridden member from ShadowCaster.
Implements Ogre::ShadowCaster. |
|
|
Retrieves the direction of the light including any transform from nodes it is attached to.
|
|
|
Retrieves the position of the light including any transform from nodes it is attached to.
|
|
|
Returns the colour of the diffuse light given off by this light source (see setDiffuseColour for more info).
|
|
|
Returns the light's direction.
|
|
|
Define a default implementation of method from ShadowCaster which implements no shadows.
Implements Ogre::ShadowCaster. Reimplemented in Ogre::Entity, and Ogre::StaticGeometry::Region. Definition at line 213 of file OgreMovableObject.h. |
|
||||||||||||
|
Helper moethod for calculating extrusion distance.
|
|
|
Overridden member from ShadowCaster.
Implements Ogre::ShadowCaster. |
|
|
Overridden from MovableObject.
Implements Ogre::MovableObject. |
|
|
Returns the name of this light (cannot be modified).
Implements Ogre::MovableObject. |
|
|
Returns the node to which this object is attached.
|
|
|
Returns the scene node to which this object is attached.
|
|
|
Get the distance to extrude for a point/spot light.
Implements Ogre::ShadowCaster. |
|
|
Returns the position of the light.
|
|
|
Returns the query flags relevant for this object.
Definition at line 210 of file OgreMovableObject.h. |
|
|
Gets the queue group for this entity, see setRenderQueueGroup for full details.
|
|
||||||||||||||||||||||||||||
|
Define a default implementation of method from ShadowCaster which implements no shadows.
Implements Ogre::ShadowCaster. Reimplemented in Ogre::Entity, and Ogre::StaticGeometry::Region. |
|
|
Returns the colour of specular light given off by this light source.
|
|
|
Returns the falloff between the inner and outer cones of the spotlight.
|
|
|
Returns the angle covered by the spotlights inner cone.
|
|
|
Returns the angle covered by the spotlights outer cone.
|
|
|
Returns the light type.
|
|
|
Retrieves a pointer to a custom application object associated with this movable by an earlier call to setUserObject.
Definition at line 171 of file OgreMovableObject.h. |
|
|
Retrieves the axis-aligned bounding box for this object in world coordinates.
Implements Ogre::ShadowCaster. Reimplemented in Ogre::Entity. |
|
|
Retrieves the worldspace bounding sphere for this object.
Reimplemented in Ogre::Entity. |
|
|
Returns true if this object is attached to a SceneNode or TagPoint.
|
|
|
Returns true if this object is attached to a SceneNode or TagPoint, and this SceneNode / TagPoint is currently in an active part of the scene graph.
|
|
|
Returns whether or not this object is supposed to be visible or not.
Reimplemented in Ogre::StaticGeometry::Region. |
|
|
As setQueryFlags, except the flags passed as parameters are removed from the existing flags on this object.
Definition at line 207 of file OgreMovableObject.h. |
|
||||||||||||||||||||
|
Sets the attenuation parameters of the light source ie how it diminishes with distance.
|
|
|
Sets whether or not this object will cast shadows.
Definition at line 236 of file OgreMovableObject.h. |
|
|
Sets the colour of the diffuse light given off by this source.
|
|
||||||||||||||||
|
Sets the colour of the diffuse light given off by this source.
|
|
|
Sets the direction in which a light points.
|
|
||||||||||||||||
|
Sets the direction in which a light points.
|
|
|
Sets the position of the light.
|
|
||||||||||||||||
|
Sets the position of the light.
|
|
|
Sets the query flags for this object.
Definition at line 199 of file OgreMovableObject.h. |
|
|
Sets the render queue group this entity will be rendered through.
Reimplemented in Ogre::Entity, and Ogre::ParticleSystem. |
|
|
Sets the colour of the specular light given off by this source.
|
|
||||||||||||||||
|
Sets the colour of the specular light given off by this source.
|
|
||||||||||||||||
|
Sets the range of a spotlight, i.e. the angle of the inner and outer cones and the rate of falloff between them. |
|
|
Sets the type of light - see LightTypes for more info.
|
|
|
Call this to associate your own custom user object instance with this MovableObject.
Definition at line 167 of file OgreMovableObject.h. |
|
|
Overridden from MovableObject.
Reimplemented from Ogre::MovableObject. |
|
|
internal method for synchronising with parent node (if any)
|
|
||||||||||||
|
Tells the caster to perform the tasks necessary to update the edge data's light listing. Can be overridden if the subclass needs to do additional things.
|
|
|
Definition at line 338 of file OgreLight.h. |
|
|
Definition at line 339 of file OgreLight.h. |
|
|
Definition at line 340 of file OgreLight.h. |
|
|
Does this object cast shadows?
Definition at line 67 of file OgreMovableObject.h. |
|
|
Definition at line 343 of file OgreLight.h. |
|
|
Definition at line 342 of file OgreLight.h. |
|
|
Definition at line 329 of file OgreLight.h. |
|
|
Definition at line 332 of file OgreLight.h. |
|
|
Definition at line 352 of file OgreLight.h. |
|
|
Stored versions of parent orientation / position.
Definition at line 345 of file OgreLight.h. |
|
|
Definition at line 346 of file OgreLight.h. |
|
|
Definition at line 327 of file OgreLight.h. |
|
|
Is the local transform dirty?
Definition at line 354 of file OgreLight.h. |
|
|
Definition at line 325 of file OgreLight.h. |
|
|
Definition at line 351 of file OgreLight.h. |
|
|
Definition at line 49 of file OgreMovableObject.h. |
|
|
node to which this object is attached
Definition at line 48 of file OgreMovableObject.h. |
|
|
Definition at line 328 of file OgreLight.h. |
|
|
Flags determining whether this object is included / excluded from scene queries.
Definition at line 59 of file OgreMovableObject.h. |
|
|
Definition at line 337 of file OgreLight.h. |
|
|
The render queue to use when rendering this object.
Definition at line 55 of file OgreMovableObject.h. |
|
|
Flags whether the RenderQueue's default should be used.
Definition at line 57 of file OgreMovableObject.h. |
|
|
Shared class-level name for Movable type.
Definition at line 349 of file OgreLight.h. |
|
|
Definition at line 330 of file OgreLight.h. |
|
|
Definition at line 336 of file OgreLight.h. |
|
|
Definition at line 335 of file OgreLight.h. |
|
|
Definition at line 334 of file OgreLight.h. |
|
|
User defined object which is linked to this object.
Definition at line 53 of file OgreMovableObject.h. |
|
|
Is this object visible?
Definition at line 51 of file OgreMovableObject.h. |
|
|
Cached world AABB of this object.
Reimplemented in Ogre::ParticleSystem. Definition at line 61 of file OgreMovableObject.h. |
|
|
Definition at line 63 of file OgreMovableObject.h. |
|
|
World space AABB of this object's dark cap.
Definition at line 65 of file OgreMovableObject.h. |
|
|
Temp tag used for sorting.
Definition at line 66 of file OgreLight.h. |
Copyright © 2000-2005 by The OGRE Team
Last modified Sun Nov 20 12:37:08 2005