#include <OgreSimpleRenderable.h>
Public Types | |
typedef std::vector < ShadowRenderable * > | ShadowRenderableList |
typedef VectorIterator < ShadowRenderableList > | ShadowRenderableListIterator |
Public Member Functions | |
SimpleRenderable () | |
void | setMaterial (const String &matName) |
virtual const MaterialPtr & | getMaterial (void) const |
Retrieves a weak reference to the material this renderable object uses. | |
virtual void | setRenderOperation (const RenderOperation &rend) |
virtual void | getRenderOperation (RenderOperation &op) |
Gets the render operation required to send this object to the frame buffer. | |
void | setWorldTransform (const Matrix4 &xform) |
virtual void | getWorldTransforms (Matrix4 *xform) const |
Gets the world transform matrix / matrices for this renderable object. | |
const Quaternion & | getWorldOrientation (void) const |
Gets the worldspace orientation of this renderable; this is used in order to more efficiently update parameters to vertex & fragment programs, since inverting Quaterion and Vector in order to derive object-space positions / directions for cameras and lights is much more efficient than inverting a complete 4x4 matrix, and also eliminates problems introduced by scaling. | |
const Vector3 & | getWorldPosition (void) const |
Gets the worldspace position of this renderable; this is used in order to more efficiently update parameters to vertex & fragment programs, since inverting Quaterion and Vector in order to derive object-space positions / directions for cameras and lights is much more efficient than inverting a complete 4x4 matrix, and also eliminates problems introduced by scaling. | |
virtual void | _notifyCurrentCamera (Camera *cam) |
Internal method to notify the object of the camera to be used for the next rendering operation. | |
void | setBoundingBox (const AxisAlignedBox &box) |
virtual const AxisAlignedBox & | getBoundingBox (void) const |
Retrieves the local axis-aligned bounding box for this object. | |
virtual void | _updateRenderQueue (RenderQueue *queue) |
Internal method by which the movable object must add Renderable subclass instances to the rendering queue. | |
virtual | ~SimpleRenderable () |
virtual const String & | getMovableType (void) const |
Overridden from MovableObject. | |
const LightList & | getLights (void) const |
Gets a list of lights, ordered relative to how close they are to this renderable.
| |
virtual void | _notifyCreator (MovableObjectFactory *fact) |
Notify the object of it's creator (internal use only). | |
virtual MovableObjectFactory * | _getCreator (void) const |
Get the creator of this object, if any (internal use only). | |
virtual void | _notifyManager (SceneManager *man) |
Notify the object of it's manager (internal use only). | |
virtual SceneManager * | _getManager (void) const |
Get the manager of this object, if any (internal use only). | |
virtual const String & | getName (void) const |
Returns the name of this object. | |
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 void | _notifyMoved (void) |
Internal method called to notify the object that it has been moved. | |
virtual Real | getBoundingRadius (void) const =0 |
Retrieves the radius of the origin-centered bounding sphere for this object. | |
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 void | setVisible (bool visible) |
Tells this object whether to be visible or not, if it has a renderable component. | |
virtual bool | getVisible (void) const |
Gets this object whether to be visible or not, if it has a renderable component. | |
virtual bool | isVisible (void) const |
Returns whether or not this object is supposed to be visible or not. | |
virtual void | setRenderingDistance (Real dist) |
Sets the distance at which the object is no longer rendered. | |
virtual Real | getRenderingDistance (void) const |
Gets the distance at which batches are no longer rendered. | |
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 | setUserAny (const Any &anything) |
Sets any kind of user value on this object. | |
virtual const Any & | getUserAny (void) const |
Retrieves the custom user value associated with this object. | |
virtual void | setRenderQueueGroup (uint8 queueID) |
Sets the render queue group this entity will be rendered through. | |
virtual uint8 | getRenderQueueGroup (void) const |
Gets the queue group for this entity, see setRenderQueueGroup for full details. | |
virtual const Matrix4 & | _getParentNodeFullTransform (void) const |
return the full transformation of the parent sceneNode or the attachingPoint node | |
virtual void | setQueryFlags (uint32 flags) |
Sets the query flags for this object. | |
virtual void | addQueryFlags (uint32 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 uint32 | getQueryFlags (void) const |
Returns the query flags relevant for this object. | |
virtual void | setVisibilityFlags (uint32 flags) |
Sets the visiblity flags for this object. | |
virtual void | addVisibilityFlags (uint32 flags) |
As setVisibilityFlags, except the flags passed as parameters are appended to the existing flags on this object. | |
virtual void | removeVisibilityFlags (uint32 flags) |
As setVisibilityFlags, except the flags passed as parameters are removed from the existing flags on this object. | |
virtual uint32 | getVisibilityFlags (void) const |
Returns the visibility flags relevant for this object. | |
virtual void | setListener (Listener *listener) |
Sets a listener for this object. | |
virtual Listener * | getListener (void) const |
Gets the current listener for this object. | |
virtual const LightList & | queryLights (void) const |
Gets a list of lights, ordered relative to how close they are to this movable object. | |
EdgeData * | getEdgeList (void) |
Define a default implementation of method from ShadowCaster which implements no shadows. | |
bool | hasEdgeList (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. | |
virtual uint32 | getTypeFlags (void) const |
Get the 'type flags' for this MovableObject. | |
const StringVector & | getAnimableValueNames (void) const |
Gets a list of animable value names for this object. | |
virtual AnimableValuePtr | createAnimableValue (const String &valueName) |
Create a reference-counted AnimableValuePtr for the named value. | |
virtual Technique * | getTechnique (void) const |
Retrieves a pointer to the Material Technique this renderable object uses. | |
virtual unsigned short | getNumWorldTransforms (void) const |
Returns the number of world transform matrices this renderable requires. | |
void | setUseIdentityProjection (bool useIdentityProjection) |
Sets whether or not to use an 'identity' projection. | |
bool | getUseIdentityProjection (void) const |
Returns whether or not to use an 'identity' projection. | |
void | setUseIdentityView (bool useIdentityView) |
Sets whether or not to use an 'identity' view. | |
bool | getUseIdentityView (void) const |
Returns whether or not to use an 'identity' view. | |
virtual Real | getSquaredViewDepth (const Camera *cam) const =0 |
Returns the camera-relative squared depth of this renderable. | |
virtual bool | getNormaliseNormals (void) const |
Returns whether or not this Renderable wishes the hardware to normalise normals. | |
virtual const PlaneList & | getClipPlanes () const |
virtual bool | getCastsShadows (void) const |
Method which reports whether this renderable would normally cast a shadow. | |
void | setCustomParameter (size_t index, const Vector4 &value) |
Sets a custom parameter for this Renderable, which may be used to drive calculations for this specific Renderable, like GPU program parameters. | |
const Vector4 & | getCustomParameter (size_t index) const |
Gets the custom value associated with this Renderable at the given index. | |
virtual void | _updateCustomGpuParameter (const GpuProgramParameters::AutoConstantEntry &constantEntry, GpuProgramParameters *params) const |
Update a custom GpuProgramParameters constant which is derived from information only this Renderable knows. | |
virtual void | setPolygonModeOverrideable (bool override) |
Sets whether this renderable's chosen detail level can be overridden (downgraded) by the camera setting. | |
virtual bool | getPolygonModeOverrideable (void) const |
Gets whether this renderable's chosen detail level can be overridden (downgraded) by the camera setting. | |
Static Public Member Functions | |
static void | setDefaultQueryFlags (uint32 flags) |
Set the default query flags for all future MovableObject instances. | |
static uint32 | getDefaultQueryFlags () |
Get 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 uint32 | getDefaultVisibilityFlags () |
Get the default visibility flags for all future MovableObject instances. | |
static void | extrudeVertices (const HardwareVertexBufferSharedPtr &vertexBuffer, size_t originalVertexCount, const Vector4 &lightPos, Real extrudeDist) |
Utility method for extruding vertices based on a light. | |
Protected Types | |
typedef std::map < String, StringVector > | AnimableDictionaryMap |
typedef std::map < size_t, Vector4 > | CustomParameterMap |
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, const 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. | |
virtual const String & | getAnimableDictionaryName (void) const |
Get the name of the animable dictionary for this class. | |
void | createAnimableDictionary (void) const |
Internal method for creating a dictionary of animable value names for the class, if it does not already exist. | |
StringVector & | _getAnimableValueNames (void) |
Get an updateable reference to animable value list. | |
virtual void | initialiseAnimableDictionary (StringVector &) const |
Internal method for initialising dictionary; should be implemented by subclasses wanting to expose animable parameters. | |
Protected Attributes | |
RenderOperation | mRenderOp |
Matrix4 | m_matWorldTransform |
AxisAlignedBox | mBox |
String | m_strMatName |
MaterialPtr | m_pMaterial |
SceneManager * | m_pParentSceneManager |
The scene manager for the current frame. | |
Camera * | m_pCamera |
The camera for the current frame. | |
String | mName |
Name of this object. | |
MovableObjectFactory * | mCreator |
Creator of this object (if created by a factory). | |
SceneManager * | mManager |
SceneManager holding this object (if applicable). | |
Node * | mParentNode |
node to which this object is attached | |
bool | mParentIsTagPoint |
bool | mVisible |
Is this object visible? | |
Real | mUpperDistance |
Upper distance to still render. | |
Real | mSquaredUpperDistance |
bool | mBeyondFarDistance |
Hidden because of distance? | |
Any | mUserAny |
User defined link to another object / value / whatever. | |
uint8 | mRenderQueueID |
The render queue to use when rendering this object. | |
bool | mRenderQueueIDSet |
Flags whether the RenderQueue's default should be used. | |
uint32 | mQueryFlags |
Flags determining whether this object is included / excluded from scene queries. | |
uint32 | mVisibilityFlags |
Flags determining whether this object is visible (compared to SceneManager mask). | |
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? | |
bool | mRenderingDisabled |
Does rendering this object disabled by listener? | |
Listener * | mListener |
MovableObject listener - only one allowed (no list) for size & performance reasons. */. | |
LightList | mLightList |
List of lights for this object. | |
ulong | mLightListUpdated |
The last frame that this light list was updated in. | |
CustomParameterMap | mCustomParameters |
bool | mPolygonModeOverrideable |
bool | mUseIdentityProjection |
bool | mUseIdentityView |
Static Protected Attributes | |
static uint | ms_uGenNameCount |
Static member used to automatically generate names for SimpleRendaerable objects. | |
static uint32 | msDefaultQueryFlags |
Default query flags. | |
static uint32 | msDefaultVisibilityFlags |
Default visibility flags. | |
static AnimableDictionaryMap | msAnimableDictionary |
Static map of class name to list of animable value names. | |
static const PlaneList | msDummyPlaneList |
Definition at line 41 of file OgreSimpleRenderable.h.
typedef std::vector<ShadowRenderable*> Ogre::ShadowCaster::ShadowRenderableList [inherited] |
Definition at line 127 of file OgreShadowCaster.h.
typedef VectorIterator<ShadowRenderableList> Ogre::ShadowCaster::ShadowRenderableListIterator [inherited] |
Definition at line 128 of file OgreShadowCaster.h.
typedef std::map<String, StringVector> Ogre::AnimableObject::AnimableDictionaryMap [protected, inherited] |
Definition at line 206 of file OgreAnimable.h.
typedef std::map<size_t, Vector4> Ogre::Renderable::CustomParameterMap [protected, inherited] |
Definition at line 285 of file OgreRenderable.h.
Ogre::SimpleRenderable::SimpleRenderable | ( | ) |
virtual Ogre::SimpleRenderable::~SimpleRenderable | ( | ) | [virtual] |
void Ogre::SimpleRenderable::setMaterial | ( | const String & | matName | ) |
virtual const MaterialPtr& Ogre::SimpleRenderable::getMaterial | ( | void | ) | const [virtual] |
Retrieves a weak reference to the material this renderable object uses.
Implements Ogre::Renderable.
Reimplemented in Ogre::InstancedGeometry::GeometryBucket.
virtual void Ogre::SimpleRenderable::setRenderOperation | ( | const RenderOperation & | rend | ) | [virtual] |
virtual void Ogre::SimpleRenderable::getRenderOperation | ( | RenderOperation & | op | ) | [virtual] |
Gets the render operation required to send this object to the frame buffer.
Implements Ogre::Renderable.
void Ogre::SimpleRenderable::setWorldTransform | ( | const Matrix4 & | xform | ) |
virtual void Ogre::SimpleRenderable::getWorldTransforms | ( | Matrix4 * | xform | ) | const [virtual] |
Gets the world transform matrix / matrices for this renderable object.
Implements Ogre::Renderable.
Reimplemented in Ogre::InstancedGeometry::GeometryBucket, Ogre::Rectangle2D, and Ogre::WireBoundingBox.
const Quaternion& Ogre::SimpleRenderable::getWorldOrientation | ( | void | ) | const [virtual] |
Gets the worldspace orientation of this renderable; this is used in order to more efficiently update parameters to vertex & fragment programs, since inverting Quaterion and Vector in order to derive object-space positions / directions for cameras and lights is much more efficient than inverting a complete 4x4 matrix, and also eliminates problems introduced by scaling.
Implements Ogre::Renderable.
Reimplemented in Ogre::InstancedGeometry::GeometryBucket, Ogre::Rectangle2D, and Ogre::WireBoundingBox.
const Vector3& Ogre::SimpleRenderable::getWorldPosition | ( | void | ) | const [virtual] |
Gets the worldspace position of this renderable; this is used in order to more efficiently update parameters to vertex & fragment programs, since inverting Quaterion and Vector in order to derive object-space positions / directions for cameras and lights is much more efficient than inverting a complete 4x4 matrix, and also eliminates problems introduced by scaling.
Implements Ogre::Renderable.
Reimplemented in Ogre::InstancedGeometry::GeometryBucket, Ogre::Rectangle2D, and Ogre::WireBoundingBox.
virtual void Ogre::SimpleRenderable::_notifyCurrentCamera | ( | Camera * | cam | ) | [virtual] |
Internal method to notify the object of the camera to be used for the next rendering operation.
Reimplemented from Ogre::MovableObject.
void Ogre::SimpleRenderable::setBoundingBox | ( | const AxisAlignedBox & | box | ) |
virtual const AxisAlignedBox& Ogre::SimpleRenderable::getBoundingBox | ( | void | ) | const [virtual] |
Retrieves the local axis-aligned bounding box for this object.
Implements Ogre::MovableObject.
virtual void Ogre::SimpleRenderable::_updateRenderQueue | ( | RenderQueue * | queue | ) | [virtual] |
Internal method by which the movable object must add Renderable subclass instances to the rendering queue.
Implements Ogre::MovableObject.
virtual const String& Ogre::SimpleRenderable::getMovableType | ( | void | ) | const [virtual] |
const LightList& Ogre::SimpleRenderable::getLights | ( | void | ) | const [virtual] |
Gets a list of lights, ordered relative to how close they are to this renderable.
Implements Ogre::Renderable.
Reimplemented in Ogre::InstancedGeometry::GeometryBucket.
virtual void Ogre::MovableObject::_notifyCreator | ( | MovableObjectFactory * | fact | ) | [virtual, inherited] |
Notify the object of it's creator (internal use only).
Definition at line 164 of file OgreMovableObject.h.
virtual MovableObjectFactory* Ogre::MovableObject::_getCreator | ( | void | ) | const [virtual, inherited] |
Get the creator of this object, if any (internal use only).
Definition at line 166 of file OgreMovableObject.h.
virtual void Ogre::MovableObject::_notifyManager | ( | SceneManager * | man | ) | [virtual, inherited] |
Notify the object of it's manager (internal use only).
Definition at line 168 of file OgreMovableObject.h.
virtual SceneManager* Ogre::MovableObject::_getManager | ( | void | ) | const [virtual, inherited] |
Get the manager of this object, if any (internal use only).
Definition at line 170 of file OgreMovableObject.h.
virtual const String& Ogre::MovableObject::getName | ( | void | ) | const [virtual, inherited] |
Returns the name of this object.
Reimplemented in Ogre::Camera.
Definition at line 173 of file OgreMovableObject.h.
virtual Node* Ogre::MovableObject::getParentNode | ( | void | ) | const [virtual, inherited] |
Returns the node to which this object is attached.
virtual SceneNode* Ogre::MovableObject::getParentSceneNode | ( | void | ) | const [virtual, inherited] |
Returns the scene node to which this object is attached.
virtual void Ogre::MovableObject::_notifyAttached | ( | Node * | parent, | |
bool | isTagPoint = false | |||
) | [virtual, inherited] |
Internal method called to notify the object that it has been attached to a node.
Reimplemented in Ogre::Entity, Ogre::Light, and Ogre::ParticleSystem.
virtual bool Ogre::MovableObject::isAttached | ( | void | ) | const [virtual, inherited] |
virtual bool Ogre::MovableObject::isInScene | ( | void | ) | const [virtual, inherited] |
virtual void Ogre::MovableObject::_notifyMoved | ( | void | ) | [virtual, inherited] |
virtual Real Ogre::MovableObject::getBoundingRadius | ( | void | ) | const [pure virtual, inherited] |
Retrieves the radius of the origin-centered bounding sphere for this object.
Implemented in Ogre::BillboardChain, Ogre::BillboardSet, Ogre::Camera, Ogre::Entity, Ogre::Frustum, Ogre::InstancedGeometry::GeometryBucket, Ogre::InstancedGeometry::BatchInstance, Ogre::Light, Ogre::ManualObject, Ogre::MovablePlane, Ogre::ParticleSystem, Ogre::Rectangle2D, Ogre::StaticGeometry::Region, and Ogre::WireBoundingBox.
virtual const AxisAlignedBox& Ogre::MovableObject::getWorldBoundingBox | ( | bool | derive = false |
) | const [virtual, inherited] |
Retrieves the axis-aligned bounding box for this object in world coordinates.
Implements Ogre::ShadowCaster.
Reimplemented in Ogre::Entity.
virtual const Sphere& Ogre::MovableObject::getWorldBoundingSphere | ( | bool | derive = false |
) | const [virtual, inherited] |
virtual void Ogre::MovableObject::setVisible | ( | bool | visible | ) | [virtual, inherited] |
Tells this object whether to be visible or not, if it has a renderable component.
Reimplemented in Ogre::Light.
virtual bool Ogre::MovableObject::getVisible | ( | void | ) | const [virtual, inherited] |
Gets this object whether to be visible or not, if it has a renderable component.
virtual bool Ogre::MovableObject::isVisible | ( | void | ) | const [virtual, inherited] |
Returns whether or not this object is supposed to be visible or not.
Reimplemented in Ogre::InstancedGeometry::BatchInstance, and Ogre::StaticGeometry::Region.
virtual void Ogre::MovableObject::setRenderingDistance | ( | Real | dist | ) | [virtual, inherited] |
Sets the distance at which the object is no longer rendered.
dist | Distance beyond which the object will not be rendered (the default is 0, which means objects are always rendered). |
Definition at line 272 of file OgreMovableObject.h.
virtual Real Ogre::MovableObject::getRenderingDistance | ( | void | ) | const [virtual, inherited] |
Gets the distance at which batches are no longer rendered.
Definition at line 278 of file OgreMovableObject.h.
virtual void Ogre::MovableObject::setUserObject | ( | UserDefinedObject * | obj | ) | [virtual, inherited] |
Call this to associate your own custom user object instance with this MovableObject.
Definition at line 286 of file OgreMovableObject.h.
virtual UserDefinedObject* Ogre::MovableObject::getUserObject | ( | void | ) | [virtual, inherited] |
Retrieves a pointer to a custom application object associated with this movable by an earlier call to setUserObject.
Definition at line 290 of file OgreMovableObject.h.
References Ogre::any_cast().
virtual void Ogre::MovableObject::setUserAny | ( | const Any & | anything | ) | [virtual, inherited] |
Sets any kind of user value on this object.
Definition at line 302 of file OgreMovableObject.h.
virtual const Any& Ogre::MovableObject::getUserAny | ( | void | ) | const [virtual, inherited] |
Retrieves the custom user value associated with this object.
Definition at line 306 of file OgreMovableObject.h.
virtual void Ogre::MovableObject::setRenderQueueGroup | ( | uint8 | queueID | ) | [virtual, inherited] |
Sets the render queue group this entity will be rendered through.
queueID | Enumerated value of the queue group to use. |
Reimplemented in Ogre::Entity, and Ogre::ParticleSystem.
virtual uint8 Ogre::MovableObject::getRenderQueueGroup | ( | void | ) | const [virtual, inherited] |
Gets the queue group for this entity, see setRenderQueueGroup for full details.
virtual const Matrix4& Ogre::MovableObject::_getParentNodeFullTransform | ( | void | ) | const [virtual, inherited] |
return the full transformation of the parent sceneNode or the attachingPoint node
virtual void Ogre::MovableObject::setQueryFlags | ( | uint32 | flags | ) | [virtual, inherited] |
Sets the query flags for this object.
Definition at line 334 of file OgreMovableObject.h.
virtual void Ogre::MovableObject::addQueryFlags | ( | uint32 | flags | ) | [virtual, inherited] |
As setQueryFlags, except the flags passed as parameters are appended to the existing flags on this object.
Definition at line 338 of file OgreMovableObject.h.
virtual void Ogre::MovableObject::removeQueryFlags | ( | unsigned long | flags | ) | [virtual, inherited] |
As setQueryFlags, except the flags passed as parameters are removed from the existing flags on this object.
Definition at line 342 of file OgreMovableObject.h.
virtual uint32 Ogre::MovableObject::getQueryFlags | ( | void | ) | const [virtual, inherited] |
Returns the query flags relevant for this object.
Definition at line 345 of file OgreMovableObject.h.
static void Ogre::MovableObject::setDefaultQueryFlags | ( | uint32 | flags | ) | [static, inherited] |
Set the default query flags for all future MovableObject instances.
Definition at line 349 of file OgreMovableObject.h.
static uint32 Ogre::MovableObject::getDefaultQueryFlags | ( | ) | [static, inherited] |
Get the default query flags for all future MovableObject instances.
Definition at line 353 of file OgreMovableObject.h.
virtual void Ogre::MovableObject::setVisibilityFlags | ( | uint32 | flags | ) | [virtual, inherited] |
Sets the visiblity flags for this object.
Definition at line 362 of file OgreMovableObject.h.
virtual void Ogre::MovableObject::addVisibilityFlags | ( | uint32 | flags | ) | [virtual, inherited] |
As setVisibilityFlags, except the flags passed as parameters are appended to the existing flags on this object.
Definition at line 366 of file OgreMovableObject.h.
virtual void Ogre::MovableObject::removeVisibilityFlags | ( | uint32 | flags | ) | [virtual, inherited] |
As setVisibilityFlags, except the flags passed as parameters are removed from the existing flags on this object.
Definition at line 370 of file OgreMovableObject.h.
virtual uint32 Ogre::MovableObject::getVisibilityFlags | ( | void | ) | const [virtual, inherited] |
Returns the visibility flags relevant for this object.
Definition at line 373 of file OgreMovableObject.h.
static void Ogre::MovableObject::setDefaultVisibilityFlags | ( | uint32 | flags | ) | [static, inherited] |
Set the default visibility flags for all future MovableObject instances.
Definition at line 377 of file OgreMovableObject.h.
static uint32 Ogre::MovableObject::getDefaultVisibilityFlags | ( | ) | [static, inherited] |
Get the default visibility flags for all future MovableObject instances.
Definition at line 381 of file OgreMovableObject.h.
virtual void Ogre::MovableObject::setListener | ( | Listener * | listener | ) | [virtual, inherited] |
Sets a listener for this object.
Definition at line 388 of file OgreMovableObject.h.
virtual Listener* Ogre::MovableObject::getListener | ( | void | ) | const [virtual, inherited] |
virtual const LightList& Ogre::MovableObject::queryLights | ( | void | ) | const [virtual, inherited] |
Gets a list of lights, ordered relative to how close they are to this movable object.
EdgeData* Ogre::MovableObject::getEdgeList | ( | void | ) | [virtual, inherited] |
Define a default implementation of method from ShadowCaster which implements no shadows.
Implements Ogre::ShadowCaster.
Reimplemented in Ogre::Entity, Ogre::ManualObject, and Ogre::StaticGeometry::Region.
Definition at line 415 of file OgreMovableObject.h.
bool Ogre::MovableObject::hasEdgeList | ( | void | ) | [virtual, inherited] |
Define a default implementation of method from ShadowCaster which implements no shadows.
Implements Ogre::ShadowCaster.
Reimplemented in Ogre::Entity, Ogre::ManualObject, and Ogre::StaticGeometry::Region.
Definition at line 417 of file OgreMovableObject.h.
ShadowRenderableListIterator Ogre::MovableObject::getShadowVolumeRenderableIterator | ( | ShadowTechnique | shadowTechnique, | |
const Light * | light, | |||
HardwareIndexBufferSharedPtr * | indexBuffer, | |||
bool | extrudeVertices, | |||
Real | extrusionDist, | |||
unsigned long | flags = 0 | |||
) | [virtual, inherited] |
Define a default implementation of method from ShadowCaster which implements no shadows.
Implements Ogre::ShadowCaster.
Reimplemented in Ogre::Entity, Ogre::ManualObject, and Ogre::StaticGeometry::Region.
const AxisAlignedBox& Ogre::MovableObject::getLightCapBounds | ( | void | ) | const [virtual, inherited] |
const AxisAlignedBox& Ogre::MovableObject::getDarkCapBounds | ( | const Light & | light, | |
Real | dirLightExtrusionDist | |||
) | const [virtual, inherited] |
void Ogre::MovableObject::setCastShadows | ( | bool | enabled | ) | [inherited] |
Sets whether or not this object will cast shadows.
Definition at line 440 of file OgreMovableObject.h.
bool Ogre::MovableObject::getCastShadows | ( | void | ) | const [virtual, inherited] |
Returns whether shadow casting is enabled for this object.
Implements Ogre::ShadowCaster.
Definition at line 442 of file OgreMovableObject.h.
virtual uint32 Ogre::MovableObject::getTypeFlags | ( | void | ) | const [virtual, inherited] |
Get the 'type flags' for this MovableObject.
Reimplemented in Ogre::BillboardSet, Ogre::Entity, Ogre::Light, Ogre::ParticleSystem, and Ogre::StaticGeometry::Region.
static void Ogre::ShadowCaster::extrudeVertices | ( | const HardwareVertexBufferSharedPtr & | vertexBuffer, | |
size_t | originalVertexCount, | |||
const Vector4 & | lightPos, | |||
Real | extrudeDist | |||
) | [static, inherited] |
Utility method for extruding vertices based on a light.
vertexBuffer | The vertex buffer containing ONLY xyz position values, which must be originalVertexCount * 2 * 3 floats long. | |
originalVertexCount | The count of the original number of vertices, ie the number in the mesh, not counting the doubling which has already been done (by VertexData::prepareForShadowVolume) to provide the extruded area of the buffer. | |
lightPos | 4D light position in object space, when w=0.0f this represents a directional light | |
extrudeDist | The distance to extrude |
Real Ogre::ShadowCaster::getExtrusionDistance | ( | const Vector3 & | objectPos, | |
const Light * | light | |||
) | const [protected, inherited] |
Helper moethod for calculating extrusion distance.
virtual void Ogre::ShadowCaster::updateEdgeListLightFacing | ( | EdgeData * | edgeData, | |
const Vector4 & | lightPos | |||
) | [protected, virtual, inherited] |
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.
edgeData | The edge information to update | |
lightPos | 4D vector representing the light, a directional light has w=0.0 |
virtual void Ogre::ShadowCaster::generateShadowVolume | ( | EdgeData * | edgeData, | |
const HardwareIndexBufferSharedPtr & | indexBuffer, | |||
const Light * | light, | |||
ShadowRenderableList & | shadowRenderables, | |||
unsigned long | flags | |||
) | [protected, virtual, inherited] |
Generates the indexes required to render a shadow volume into the index buffer which is passed in, and updates shadow renderables to use it.
edgeData | The edge information to use | |
indexBuffer | The buffer into which to write data into; current contents are assumed to be discardable. | |
light | The light, mainly for type info as silhouette calculations should already have been done in updateEdgeListLightFacing | |
shadowRenderables | A list of shadow renderables which has already been constructed but will need populating with details of the index ranges to be used. | |
flags | Additional controller flags, see ShadowRenderableFlags |
virtual void Ogre::ShadowCaster::extrudeBounds | ( | AxisAlignedBox & | box, | |
const Vector4 & | lightPos, | |||
Real | extrudeDist | |||
) | const [protected, virtual, inherited] |
Utility method for extruding a bounding box.
box | Original bounding box, will be updated in-place | |
lightPos | 4D light position in object space, when w=0.0f this represents a directional light | |
extrudeDist | The distance to extrude |
virtual const String& Ogre::AnimableObject::getAnimableDictionaryName | ( | void | ) | const [protected, virtual, inherited] |
Get the name of the animable dictionary for this class.
Reimplemented in Ogre::Light.
Definition at line 214 of file OgreAnimable.h.
References Ogre::StringUtil::BLANK.
void Ogre::AnimableObject::createAnimableDictionary | ( | void | ) | const [protected, inherited] |
Internal method for creating a dictionary of animable value names for the class, if it does not already exist.
Definition at line 219 of file OgreAnimable.h.
StringVector& Ogre::AnimableObject::_getAnimableValueNames | ( | void | ) | [protected, inherited] |
Get an updateable reference to animable value list.
Definition at line 232 of file OgreAnimable.h.
References Ogre::Exception::ERR_ITEM_NOT_FOUND, and OGRE_EXCEPT.
virtual void Ogre::AnimableObject::initialiseAnimableDictionary | ( | StringVector & | ) | const [protected, virtual, inherited] |
Internal method for initialising dictionary; should be implemented by subclasses wanting to expose animable parameters.
Reimplemented in Ogre::Light.
Definition at line 252 of file OgreAnimable.h.
const StringVector& Ogre::AnimableObject::getAnimableValueNames | ( | void | ) | const [inherited] |
Gets a list of animable value names for this object.
Definition at line 260 of file OgreAnimable.h.
References Ogre::Exception::ERR_ITEM_NOT_FOUND, and OGRE_EXCEPT.
virtual AnimableValuePtr Ogre::AnimableObject::createAnimableValue | ( | const String & | valueName | ) | [virtual, inherited] |
Create a reference-counted AnimableValuePtr for the named value.
Reimplemented in Ogre::Light.
Definition at line 285 of file OgreAnimable.h.
References Ogre::Exception::ERR_ITEM_NOT_FOUND, and OGRE_EXCEPT.
virtual Technique* Ogre::Renderable::getTechnique | ( | void | ) | const [virtual, inherited] |
Retrieves a pointer to the Material Technique this renderable object uses.
Reimplemented in Ogre::InstancedGeometry::GeometryBucket, Ogre::StaticGeometry::GeometryBucket, and Ogre::SubEntity.
Definition at line 73 of file OgreRenderable.h.
virtual unsigned short Ogre::Renderable::getNumWorldTransforms | ( | void | ) | const [virtual, inherited] |
Returns the number of world transform matrices this renderable requires.
Reimplemented in Ogre::BorderRenderable, Ogre::InstancedGeometry::GeometryBucket, and Ogre::SubEntity.
Definition at line 111 of file OgreRenderable.h.
void Ogre::Renderable::setUseIdentityProjection | ( | bool | useIdentityProjection | ) | [inherited] |
Sets whether or not to use an 'identity' projection.
Definition at line 122 of file OgreRenderable.h.
bool Ogre::Renderable::getUseIdentityProjection | ( | void | ) | const [inherited] |
Returns whether or not to use an 'identity' projection.
Definition at line 136 of file OgreRenderable.h.
void Ogre::Renderable::setUseIdentityView | ( | bool | useIdentityView | ) | [inherited] |
Sets whether or not to use an 'identity' view.
Definition at line 147 of file OgreRenderable.h.
bool Ogre::Renderable::getUseIdentityView | ( | void | ) | const [inherited] |
Returns whether or not to use an 'identity' view.
Definition at line 161 of file OgreRenderable.h.
virtual Real Ogre::Renderable::getSquaredViewDepth | ( | const Camera * | cam | ) | const [pure virtual, inherited] |
Returns the camera-relative squared depth of this renderable.
Implemented in Ogre::BillboardChain, Ogre::BillboardSet, Ogre::BorderRenderable, Ogre::Frustum, Ogre::InstancedGeometry::GeometryBucket, Ogre::ManualObject::ManualObjectSection, Ogre::Node, Ogre::OverlayElement, Ogre::Rectangle2D, Ogre::ShadowRenderable, Ogre::StaticGeometry::GeometryBucket, Ogre::SubEntity, and Ogre::WireBoundingBox.
Referenced by Ogre::QueuedRenderableCollection::RadixSortFunctorDistance::operator()(), and Ogre::QueuedRenderableCollection::DepthSortDescendingLess::operator()().
virtual bool Ogre::Renderable::getNormaliseNormals | ( | void | ) | const [virtual, inherited] |
Returns whether or not this Renderable wishes the hardware to normalise normals.
Reimplemented in Ogre::SubEntity.
Definition at line 171 of file OgreRenderable.h.
virtual const PlaneList& Ogre::Renderable::getClipPlanes | ( | ) | const [virtual, inherited] |
Definition at line 179 of file OgreRenderable.h.
virtual bool Ogre::Renderable::getCastsShadows | ( | void | ) | const [virtual, inherited] |
Method which reports whether this renderable would normally cast a shadow.
Reimplemented in Ogre::InstancedGeometry::GeometryBucket, Ogre::StaticGeometry::GeometryBucket, and Ogre::SubEntity.
Definition at line 187 of file OgreRenderable.h.
void Ogre::Renderable::setCustomParameter | ( | size_t | index, | |
const Vector4 & | value | |||
) | [inherited] |
Sets a custom parameter for this Renderable, 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_CUSTOM entry, if that is used. | |
value | The value to associate. |
Definition at line 204 of file OgreRenderable.h.
const Vector4& Ogre::Renderable::getCustomParameter | ( | size_t | index | ) | const [inherited] |
Gets the custom value associated with this Renderable at the given index.
@see | setCustomParaemter for full details. |
Definition at line 213 of file OgreRenderable.h.
References Ogre::Exception::ERR_ITEM_NOT_FOUND, and OGRE_EXCEPT.
virtual void Ogre::Renderable::_updateCustomGpuParameter | ( | const GpuProgramParameters::AutoConstantEntry & | constantEntry, | |
GpuProgramParameters * | params | |||
) | const [virtual, inherited] |
Update a custom GpuProgramParameters constant which is derived from information only this Renderable knows.
constantEntry | The auto constant entry referring to the parameter being updated | |
params | The parameters object which this method should call to set the updated parameters. |
Reimplemented in Ogre::SubEntity.
Definition at line 252 of file OgreRenderable.h.
References Ogre::GpuProgramParameters::_writeRawConstant(), Ogre::GpuProgramParameters::AutoConstantEntry::data, Ogre::GpuProgramParameters::AutoConstantEntry::elementCount, and Ogre::GpuProgramParameters::AutoConstantEntry::physicalIndex.
virtual void Ogre::Renderable::setPolygonModeOverrideable | ( | bool | override | ) | [virtual, inherited] |
Sets whether this renderable's chosen detail level can be overridden (downgraded) by the camera setting.
override | true means that a lower camera detail will override this renderables detail level, false means it won't. |
Definition at line 269 of file OgreRenderable.h.
virtual bool Ogre::Renderable::getPolygonModeOverrideable | ( | void | ) | const [virtual, inherited] |
Gets whether this renderable's chosen detail level can be overridden (downgraded) by the camera setting.
Reimplemented in Ogre::BorderRenderable.
Definition at line 277 of file OgreRenderable.h.
RenderOperation Ogre::SimpleRenderable::mRenderOp [protected] |
Definition at line 44 of file OgreSimpleRenderable.h.
Matrix4 Ogre::SimpleRenderable::m_matWorldTransform [protected] |
Definition at line 46 of file OgreSimpleRenderable.h.
AxisAlignedBox Ogre::SimpleRenderable::mBox [protected] |
Definition at line 47 of file OgreSimpleRenderable.h.
String Ogre::SimpleRenderable::m_strMatName [protected] |
Definition at line 49 of file OgreSimpleRenderable.h.
MaterialPtr Ogre::SimpleRenderable::m_pMaterial [protected] |
Definition at line 50 of file OgreSimpleRenderable.h.
Camera* Ogre::SimpleRenderable::m_pCamera [protected] |
uint Ogre::SimpleRenderable::ms_uGenNameCount [static, protected] |
Static member used to automatically generate names for SimpleRendaerable objects.
Definition at line 59 of file OgreSimpleRenderable.h.
String Ogre::MovableObject::mName [protected, inherited] |
Name of this object.
Reimplemented in Ogre::Camera.
Definition at line 101 of file OgreMovableObject.h.
MovableObjectFactory* Ogre::MovableObject::mCreator [protected, inherited] |
Creator of this object (if created by a factory).
Definition at line 103 of file OgreMovableObject.h.
SceneManager* Ogre::MovableObject::mManager [protected, inherited] |
SceneManager holding this object (if applicable).
Definition at line 105 of file OgreMovableObject.h.
Node* Ogre::MovableObject::mParentNode [protected, inherited] |
bool Ogre::MovableObject::mParentIsTagPoint [protected, inherited] |
Definition at line 108 of file OgreMovableObject.h.
bool Ogre::MovableObject::mVisible [protected, inherited] |
Real Ogre::MovableObject::mUpperDistance [protected, inherited] |
Real Ogre::MovableObject::mSquaredUpperDistance [protected, inherited] |
Definition at line 113 of file OgreMovableObject.h.
bool Ogre::MovableObject::mBeyondFarDistance [protected, inherited] |
Any Ogre::MovableObject::mUserAny [protected, inherited] |
User defined link to another object / value / whatever.
Definition at line 117 of file OgreMovableObject.h.
uint8 Ogre::MovableObject::mRenderQueueID [protected, inherited] |
The render queue to use when rendering this object.
Definition at line 119 of file OgreMovableObject.h.
bool Ogre::MovableObject::mRenderQueueIDSet [protected, inherited] |
Flags whether the RenderQueue's default should be used.
Definition at line 121 of file OgreMovableObject.h.
uint32 Ogre::MovableObject::mQueryFlags [protected, inherited] |
Flags determining whether this object is included / excluded from scene queries.
Definition at line 123 of file OgreMovableObject.h.
uint32 Ogre::MovableObject::mVisibilityFlags [protected, inherited] |
Flags determining whether this object is visible (compared to SceneManager mask).
Definition at line 125 of file OgreMovableObject.h.
AxisAlignedBox Ogre::MovableObject::mWorldAABB [mutable, protected, inherited] |
Cached world AABB of this object.
Reimplemented in Ogre::ParticleSystem.
Definition at line 127 of file OgreMovableObject.h.
Sphere Ogre::MovableObject::mWorldBoundingSphere [mutable, protected, inherited] |
Definition at line 129 of file OgreMovableObject.h.
AxisAlignedBox Ogre::MovableObject::mWorldDarkCapBounds [mutable, protected, inherited] |
bool Ogre::MovableObject::mCastShadows [protected, inherited] |
bool Ogre::MovableObject::mRenderingDisabled [protected, inherited] |
Does rendering this object disabled by listener?
Definition at line 136 of file OgreMovableObject.h.
Listener* Ogre::MovableObject::mListener [protected, inherited] |
MovableObject listener - only one allowed (no list) for size & performance reasons. */.
Definition at line 138 of file OgreMovableObject.h.
LightList Ogre::MovableObject::mLightList [mutable, protected, inherited] |
List of lights for this object.
Reimplemented in Ogre::StaticGeometry::Region.
Definition at line 141 of file OgreMovableObject.h.
ulong Ogre::MovableObject::mLightListUpdated [mutable, protected, inherited] |
The last frame that this light list was updated in.
Reimplemented in Ogre::StaticGeometry::Region.
Definition at line 143 of file OgreMovableObject.h.
uint32 Ogre::MovableObject::msDefaultQueryFlags [static, protected, inherited] |
uint32 Ogre::MovableObject::msDefaultVisibilityFlags [static, protected, inherited] |
AnimableDictionaryMap Ogre::AnimableObject::msAnimableDictionary [static, protected, inherited] |
Static map of class name to list of animable value names.
Definition at line 208 of file OgreAnimable.h.
const PlaneList Ogre::Renderable::msDummyPlaneList [static, protected, inherited] |
Definition at line 284 of file OgreRenderable.h.
CustomParameterMap Ogre::Renderable::mCustomParameters [protected, inherited] |
Definition at line 286 of file OgreRenderable.h.
bool Ogre::Renderable::mPolygonModeOverrideable [protected, inherited] |
Definition at line 287 of file OgreRenderable.h.
bool Ogre::Renderable::mUseIdentityProjection [protected, inherited] |
Definition at line 288 of file OgreRenderable.h.
bool Ogre::Renderable::mUseIdentityView [protected, inherited] |
Definition at line 289 of file OgreRenderable.h.
Copyright © 2000-2005 by The OGRE Team
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sat May 10 16:29:57 2008