OGRE: Ogre::PCZLight Class Reference

| OGRE 14.5 Object-Oriented Graphics Rendering Engine

Loading...
Searching...
No Matches
Ogre::PCZLight Class Reference
Plugins » PCZSceneManager

Specialized version of Ogre::Light which caches which zones the light affects. More...

`#include <OgrePCZLight.h>`

Inheritance diagram for Ogre::PCZLight:
[legend]

## Public Member Functions
| PCZLight ()
| Default constructor (for Python mainly).
| PCZLight (const String &name)
| Normal constructor.
| ~PCZLight ()
| Standard destructor.
void | _notifyMoved (void) override
| MovableObject notified when SceneNode changes.
void | addZoneToAffectedZonesList (PCZone *zone)
| Manually add a zone to the zones affected list.
bool | affectsVisibleZone (void)
bool | affectsZone (PCZone *zone)
| Check if a zone is in the list of zones affected by the light.
void | clearAffectedZones (void)
| Clear the affectedZonesList.
void | clearNeedsUpdate (void)
| Clear update flag.
const String & | getMovableType (void) const override
| Overridden from MovableObject.
bool | getNeedsUpdate (void)
| Get status of need for update. this checks all affected zones.
void | removeZoneFromAffectedZonesList (PCZone *zone)
| Manually remove a zone from the affected list.
void | setAffectsVisibleZone (bool affects)
| Marks a light as affecting a visible zone.
void | updateZones (PCZone *defaultZone, unsigned long frameCount)
| Update the list of zones the light affects.
Public Member Functions inherited from Ogre::Light
| Light ()
| Default constructor (for Python mainly).
| Light (const String &name)
| Normal constructor.
| ~Light ()
| Standard destructor.
void | _calcTempSquareDist (const Vector3 &worldPos)
| internal method for calculating current squared distance from some world position
Real | _deriveShadowFarClipDistance () const
| Derive a shadow camera far distance.
Real | _deriveShadowFarClipDistance (const Camera *) const
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.
virtual 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.
size_t | _getIndexInFrame () const
| Returns the index at which this light is in the current render.
virtual 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.
void | _notifyAttached (Node *parent, bool isTagPoint=false) override
| Internal method called to notify the object that it has been attached to a node.
void | _notifyIndexInFrame (size_t i)
void | _setCameraRelative (Camera *cam)
| Set the camera which this light should be relative to, for camera-relative rendering.
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) 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.
Vector4 | getAs4DVector (bool cameraRelativeIfSet=false) const
| Returns the details of this light as a 4D vector.
const Vector4f & | getAttenuation () const
| Returns all the attenuation params as (range, constant, linear, quadratic).
float | getAttenuationConstant (void) const
| Returns the constant factor in the attenuation formula.
float | getAttenuationLinear (void) const
| Returns the linear factor in the attenuation formula.
float | getAttenuationQuadric (void) const
| Returns the quadric factor in the attenuation formula.
float | getAttenuationRange (void) const
| Returns the absolute upper range of the light.
const AxisAlignedBox & | getBoundingBox (void) const override
| Retrieves the local axis-aligned bounding box for this object.
Real | getBoundingRadius (void) const override
| Retrieves the radius of the origin-centered bounding sphere for this object.
const Vector4f & | getCustomParameter (uint16 index) const
| Returns the custom value associated with this Light at the given index.
const ShadowCameraSetupPtr & | getCustomShadowCameraSetup (void) const
| Return a pointer to the custom shadow camera setup (null means use SceneManager global version).
const Vector3 & | getDerivedDirection (void) const
| Retrieves the direction of the light including any transform from nodes it is attached to.
const Vector3 & | getDerivedPosition (bool cameraRelativeIfSet=false) const
| Retrieves the position of the light including any transform from nodes it is attached to.
Vector3f | getDerivedSourceHalfHeight () const
| The height half vector of the source in world space.
Vector3f | getDerivedSourceHalfWidth () const
| The width half vector of the source in world space.
const ColourValue & | getDiffuseColour (void) const
| Returns the colour of the diffuse light given off by this light source (see setDiffuseColour for more info).
const Vector3 & | getDirection (void) const
const Vector3 & | getPosition (void) const
| Returns the position of the light.
Real | getPowerScale (void) const
| Returns the scaling factor which indicates the relative power of a light.
Real | getShadowFarClipDistance () const
| Returns the far clip plane distance to be used by the shadow camera, if this light casts texture shadows.
Real | getShadowFarDistance (void) const
| Returns the maximum distance away from the camera that shadows by this light will be visible.
Real | getShadowFarDistanceSquared (void) const
Real | getShadowNearClipDistance () const
| Returns the near clip plane distance to be used by the shadow camera, if this light casts texture shadows.
Vector2f | getSourceSize () const
const ColourValue & | getSpecularColour (void) const
| Returns the colour of specular light given off by this light source.
Real | getSpotlightFalloff (void) const
| Returns the falloff between the inner and outer cones of the spotlight.
const Radian & | getSpotlightInnerAngle (void) const
| Returns the angle covered by the spotlights inner cone.
Real | getSpotlightNearClipDistance () const
| Returns the near clip plane distance to be used by spotlights that use light clipping.
const Radian & | getSpotlightOuterAngle (void) const
| Returns the angle covered by the spotlights outer cone.
LightTypes | getType (void) const
| Returns the light type.
uint32 | getTypeFlags (void) const override
| Override to return specific type flag.
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 | resetCustomShadowCameraSetup (void)
| Reset the shadow camera setup to the default.
void | resetShadowFarDistance (void)
| Tells the light to use the shadow far distance of the SceneManager.
void | setAttenuation (float range, float constant, float linear, float quadratic)
| Sets the attenuation parameters of the light source i.e.
void | setCustomParameter (uint16 index, const Vector4f &value)
| Sets a custom parameter for this Light, which may be used to drive calculations for this specific Renderable, like GPU program parameters.
void | setCustomShadowCameraSetup (const ShadowCameraSetupPtr &customShadowSetup)
| Set this light to use a custom shadow camera when rendering texture shadows.
void | setDiffuseColour (const ColourValue &colour)
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
void | setDiffuseColour (float red, float green, float blue)
| Sets the colour of the diffuse light given off by this source.
void | setDirection (const Vector3 &vec)
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
void | setDirection (Real x, Real y, Real z)
void | setPosition (const Vector3 &vec)
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
void | setPosition (Real x, Real y, Real z)
| Sets the position of the light.
void | setPowerScale (Real power)
| Set a scaling factor to indicate the relative power of a light.
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 | setSourceSize (float width, float height)
| Sets the size of the area covered by a area light.
void | setSpecularColour (const ColourValue &colour)
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
void | setSpecularColour (float red, float green, float 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=2.0)
| Sets the range of a spotlight, i.e.
void | setType (LightTypes type)
| Sets the type of light - see LightTypes for more info.
void | setVisible (bool visible)
| Tells this object whether to be visible or not, if it has a renderable component.
void | visitRenderables (Renderable::Visitor *visitor, bool debugRenderables=false) override
| Method to allow a caller to abstractly iterate over the Renderable instances that this MovableObject will add to the render queue when asked, if any.
Public Member Functions inherited from Ogre::MovableObject
| MovableObject ()
| Constructor.
| MovableObject (const String &name)
| Named constructor.
virtual | ~MovableObject ()
| Virtual destructor - read Scott Meyers if you don't know why this is needed.
MovableObjectFactory * | _getCreator (void) const
| Get the creator of this object, if any (internal use only).
LightList * | _getLightList ()
| Returns a pointer to the current list of lights for this object.
SceneManager * | _getManager (void) const
| Get the manager of this object, if any (internal use only).
virtual const Affine3 & | _getParentNodeFullTransform (void) const
| Return the full transformation of the parent sceneNode or the attachingPoint node.
virtual void | _notifyCreator (MovableObjectFactory *fact)
| Notify the object of it's creator (internal use only).
virtual void | _notifyCurrentCamera (Camera *cam)
| Internal method to notify the object of the camera to be used for the next rendering operation.
virtual void | _notifyManager (SceneManager *man)
| Notify the object of it's manager (internal use only).
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 (void)
| Detaches an object from a parent SceneNode or TagPoint, if attached.
Real | getBoundingRadiusScaled () const
| as getBoundingRadius, but with scaling applied
bool | getCastShadows (void) const override
| Returns whether shadow casting is enabled for this object.
uint32 | getLightMask () const
| Get a bitwise mask which will filter the lights affecting this object.
Listener * | getListener (void) const
| Gets the current listener for this object.
const String & | getName (void) const
| Returns the name of this object.
Node * | getParentNode (void) const
| Returns the node to which this object is attached.
SceneNode * | getParentSceneNode (void) const
| Returns the scene node to which this object is attached.
Real | getPointExtrusionDistance (const Light *l) const override
| Get the distance to extrude for a point/spot light.
virtual uint32 | getQueryFlags (void) const
| Returns the query flags relevant for this object.
bool | getReceivesShadows ()
| Returns whether the Material of any Renderable that this MovableObject will add to the render queue will receive shadows.
Real | getRenderingDistance (void) 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 (void) const
| Gets the queue group for this entity.
const Any & | getUserAny (void) const
UserObjectBindings & | getUserObjectBindings ()
| Class that provides convenient interface to establish a linkage between custom user application objects and Ogre core classes.
const UserObjectBindings & | getUserObjectBindings () const
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
virtual uint32 | getVisibilityFlags (void) const
| Returns the visibility flags relevant for this object.
bool | getVisible (void) const
| Gets this object whether to be visible or not, if it has a renderable component.
const AxisAlignedBox & | getWorldBoundingBox (bool derive=false) const override
| 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.
bool | isAttached (void) const
| Returns true if this object is attached to a SceneNode or TagPoint.
bool | isDebugDisplayEnabled (void) const
| Gets whether debug display of this object is enabled.
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.
bool | isParentTagPoint () const
| Gets whether the parent node is a TagPoint (or a SceneNode).
virtual bool | isVisible (void) const
| Returns whether or not this object is supposed to be visible or not.
const LightList & | queryLights (void) 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 | setCastShadows (bool enabled)
| Sets whether or not this object will cast shadows.
void | setDebugDisplayEnabled (bool enabled)
| Sets whether or not the debug display of this object is enabled.
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 | 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.
virtual void | setRenderQueueGroup (uint8 queueID)
| Sets the render queue group this entity will be rendered through.
virtual void | setRenderQueueGroupAndPriority (uint8 queueID, ushort priority)
| Sets the render queue group and group priority this entity will be rendered through.
void | setUserAny (const Any &anything)
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::ShadowCaster
virtual | ~ShadowCaster ()
const AxisAlignedBox & | getDarkCapBounds (const Light &light, Real dirLightExtrusionDist) const
| Gets the world space bounding box of the dark cap, as extruded using the light provided.
virtual EdgeData * | getEdgeList (void)
| Returns details of the edges which might be used to determine a silhouette.
const AxisAlignedBox & | getLightCapBounds (void) const
| Gets the world space bounding box of the light cap.
virtual const ShadowRenderableList & | getShadowVolumeRenderableList (const Light *light, const HardwareIndexBufferPtr &indexBuffer, size_t &indexBufferUsedSize, float extrusionDistance, int flags=0)
| Gets an list of the renderables required to render the shadow volume.
bool | hasEdgeList ()
| Returns whether the object has a valid edge list.
Public Member Functions inherited from Ogre::AnimableObject
| AnimableObject ()
virtual | ~AnimableObject ()
virtual const StringVector & | getAnimableValueNames (void) const
| Gets a list of animable value names for this object.

## Additional Inherited Members
Public Types inherited from Ogre::Light
enum | LightTypes : uint8 { LT_POINT = 0 , LT_DIRECTIONAL = 1 , LT_SPOTLIGHT = 2 , LT_RECTLIGHT = 3 }
| Defines the type of light. More...
Public Types inherited from Ogre::ShadowCaster
typedef Ogre::ShadowRenderableList | ShadowRenderableList
typedef VectorIterator< ShadowRenderableList > | ShadowRenderableListIterator
Static Public Member Functions inherited from Ogre::MovableObject
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 | 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 Public Member Functions inherited from Ogre::ShadowCaster
static void | clearShadowRenderableList (ShadowRenderableList &shadowRenderables)
| Common implementation of releasing shadow renderables.
static void | extrudeVertices (const HardwareVertexBufferSharedPtr &vertexBuffer, size_t originalVertexCount, const Vector4 &lightPos, Real extrudeDist)
| Utility method for extruding vertices based on a light.
Public Attributes inherited from Ogre::Light
Real | tempSquareDist
| Temp tag used for sorting.

## Detailed Description

Specialized version of Ogre::Light which caches which zones the light affects.

## Constructor & Destructor Documentation

## ◆ PCZLight() [1/2]

Ogre::PCZLight::PCZLight | ( |  | ) |

Default constructor (for Python mainly).

## ◆ PCZLight() [2/2]

Ogre::PCZLight::PCZLight | ( | const String & | name | ) |

Normal constructor.

Should not be called directly, but rather the SceneManager::createLight method should be used.

## ◆ ~PCZLight()

Ogre::PCZLight::~PCZLight | ( |  | ) |

Standard destructor.

## Member Function Documentation

## ◆ getMovableType()

const String & Ogre::PCZLight::getMovableType | ( | void |  | ) | const
| overridevirtual

Overridden from MovableObject.

Reimplemented from Ogre::Light.

## ◆ clearAffectedZones()

void Ogre::PCZLight::clearAffectedZones | ( | void |  | ) |

Clear the affectedZonesList.

## ◆ addZoneToAffectedZonesList()

void Ogre::PCZLight::addZoneToAffectedZonesList | ( | PCZone * | zone | ) |

Manually add a zone to the zones affected list.

## ◆ affectsZone()

bool Ogre::PCZLight::affectsZone | ( | PCZone * | zone | ) |

Check if a zone is in the list of zones affected by the light.

## ◆ affectsVisibleZone()

bool Ogre::PCZLight::affectsVisibleZone | ( | void |  | ) |
| inline

Returns
  Flag indicating if the light affects a zone which is visible in the current frame

## ◆ setAffectsVisibleZone()

void Ogre::PCZLight::setAffectsVisibleZone | ( | bool | affects | ) |
| inline

Marks a light as affecting a visible zone.

## ◆ updateZones()

void Ogre::PCZLight::updateZones | ( | PCZone * | defaultZone,
|  | unsigned long | frameCount )

Update the list of zones the light affects.

## ◆ removeZoneFromAffectedZonesList()

void Ogre::PCZLight::removeZoneFromAffectedZonesList | ( | PCZone * | zone | ) |

Manually remove a zone from the affected list.

## ◆ _notifyMoved()

void Ogre::PCZLight::_notifyMoved | ( | void |  | ) |
| overridevirtual

MovableObject notified when SceneNode changes.

Reimplemented from Ogre::Light.

## ◆ clearNeedsUpdate()

void Ogre::PCZLight::clearNeedsUpdate | ( | void |  | ) |
| inline

Clear update flag.

## ◆ getNeedsUpdate()

bool Ogre::PCZLight::getNeedsUpdate | ( | void |  | ) |

Get status of need for update. this checks all affected zones.

The documentation for this class was generated from the following file:

- OgrePCZLight.h