#include <OgreRenderable.h>
Public Member Functions | |
Renderable () | |
virtual | ~Renderable () |
Virtual destructor needed as class has virtual methods. | |
virtual const MaterialPtr & | getMaterial (void) const =0 |
Retrieves a weak reference to the material this renderable object uses. | |
virtual Technique * | getTechnique (void) const |
Retrieves a pointer to the Material Technique this renderable object uses. | |
virtual void | getRenderOperation (RenderOperation &op)=0 |
Gets the render operation required to send this object to the frame buffer. | |
virtual void | getWorldTransforms (Matrix4 *xform) const =0 |
Gets the world transform matrix / matrices for this renderable object. | |
virtual const Quaternion & | getWorldOrientation (void) const =0 |
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. | |
virtual const Vector3 & | getWorldPosition (void) const =0 |
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 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 LightList & | getLights (void) const =0 |
Gets a list of lights, ordered relative to how close they are to this renderable. | |
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. | |
Protected Types | |
typedef std::map < size_t, Vector4 > | CustomParameterMap |
Protected Attributes | |
CustomParameterMap | mCustomParameters |
bool | mPolygonModeOverrideable |
bool | mUseIdentityProjection |
bool | mUseIdentityView |
Static Protected Attributes | |
static const PlaneList | msDummyPlaneList |
Definition at line 56 of file OgreRenderable.h.
typedef std::map<size_t, Vector4> Ogre::Renderable::CustomParameterMap [protected] |
Definition at line 285 of file OgreRenderable.h.
Ogre::Renderable::Renderable | ( | ) |
Definition at line 59 of file OgreRenderable.h.
virtual Ogre::Renderable::~Renderable | ( | ) | [virtual] |
Virtual destructor needed as class has virtual methods.
Definition at line 61 of file OgreRenderable.h.
virtual const MaterialPtr& Ogre::Renderable::getMaterial | ( | void | ) | const [pure virtual] |
Retrieves a weak reference to the material this renderable object uses.
Implemented in Ogre::BillboardChain, Ogre::BillboardSet, Ogre::BorderRenderable, Ogre::Frustum, Ogre::InstancedGeometry::GeometryBucket, Ogre::ManualObject::ManualObjectSection, Ogre::Node, Ogre::OverlayElement, Ogre::ShadowRenderable, Ogre::SimpleRenderable, Ogre::StaticGeometry::GeometryBucket, and Ogre::SubEntity.
virtual Technique* Ogre::Renderable::getTechnique | ( | void | ) | const [virtual] |
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 void Ogre::Renderable::getRenderOperation | ( | RenderOperation & | op | ) | [pure virtual] |
Gets the render operation required to send this object to the frame buffer.
Implemented in Ogre::BillboardChain, Ogre::BillboardSet, Ogre::BorderRenderable, Ogre::Frustum, Ogre::ManualObject::ManualObjectSection, Ogre::Node, Ogre::PanelOverlayElement, Ogre::ShadowRenderable, Ogre::SimpleRenderable, Ogre::StaticGeometry::GeometryBucket, Ogre::SubEntity, and Ogre::TextAreaOverlayElement.
virtual void Ogre::Renderable::getWorldTransforms | ( | Matrix4 * | xform | ) | const [pure virtual] |
Gets the world transform matrix / matrices for this renderable object.
Implemented in Ogre::BillboardChain, Ogre::BillboardSet, Ogre::BorderRenderable, Ogre::Entity::EntityShadowRenderable, Ogre::Frustum, Ogre::InstancedGeometry::GeometryBucket, Ogre::ManualObject::ManualObjectSection, Ogre::ManualObject::ManualObjectSectionShadowRenderable, Ogre::Node, Ogre::OverlayElement, Ogre::Rectangle2D, Ogre::ShadowRenderable, Ogre::SimpleRenderable, Ogre::StaticGeometry::GeometryBucket, Ogre::StaticGeometry::Region::RegionShadowRenderable, Ogre::SubEntity, and Ogre::WireBoundingBox.
virtual const Quaternion& Ogre::Renderable::getWorldOrientation | ( | void | ) | const [pure 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.
Implemented in Ogre::BillboardChain, Ogre::BillboardSet, Ogre::BorderRenderable, Ogre::Entity::EntityShadowRenderable, Ogre::Frustum, Ogre::InstancedGeometry::GeometryBucket, Ogre::ManualObject::ManualObjectSection, Ogre::ManualObject::ManualObjectSectionShadowRenderable, Ogre::Node, Ogre::OverlayElement, Ogre::Rectangle2D, Ogre::ShadowRenderable, Ogre::SimpleRenderable, Ogre::StaticGeometry::GeometryBucket, Ogre::StaticGeometry::Region::RegionShadowRenderable, Ogre::SubEntity, and Ogre::WireBoundingBox.
virtual const Vector3& Ogre::Renderable::getWorldPosition | ( | void | ) | const [pure 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.
Implemented in Ogre::BillboardChain, Ogre::BillboardSet, Ogre::BorderRenderable, Ogre::Entity::EntityShadowRenderable, Ogre::Frustum, Ogre::InstancedGeometry::GeometryBucket, Ogre::ManualObject::ManualObjectSection, Ogre::ManualObject::ManualObjectSectionShadowRenderable, Ogre::Node, Ogre::OverlayElement, Ogre::Rectangle2D, Ogre::ShadowRenderable, Ogre::SimpleRenderable, Ogre::StaticGeometry::GeometryBucket, Ogre::StaticGeometry::Region::RegionShadowRenderable, Ogre::SubEntity, and Ogre::WireBoundingBox.
virtual unsigned short Ogre::Renderable::getNumWorldTransforms | ( | void | ) | const [virtual] |
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 | ) |
Sets whether or not to use an 'identity' projection.
Definition at line 122 of file OgreRenderable.h.
bool Ogre::Renderable::getUseIdentityProjection | ( | void | ) | const |
Returns whether or not to use an 'identity' projection.
Definition at line 136 of file OgreRenderable.h.
void Ogre::Renderable::setUseIdentityView | ( | bool | useIdentityView | ) |
Sets whether or not to use an 'identity' view.
Definition at line 147 of file OgreRenderable.h.
bool Ogre::Renderable::getUseIdentityView | ( | void | ) | const |
Returns whether or not to use an 'identity' view.
Definition at line 161 of file OgreRenderable.h.
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] |
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 LightList& Ogre::Renderable::getLights | ( | void | ) | const [pure virtual] |
Gets a list of lights, ordered relative to how close they are to this renderable.
Implemented in Ogre::BillboardChain, Ogre::BillboardSet, Ogre::BorderRenderable, Ogre::Frustum, Ogre::InstancedGeometry::GeometryBucket, Ogre::ManualObject::ManualObjectSection, Ogre::Node, Ogre::OverlayElement, Ogre::ShadowRenderable, Ogre::SimpleRenderable, Ogre::StaticGeometry::GeometryBucket, Ogre::SubEntity, and Ogre::TagPoint.
virtual const PlaneList& Ogre::Renderable::getClipPlanes | ( | ) | const [virtual] |
Definition at line 179 of file OgreRenderable.h.
virtual bool Ogre::Renderable::getCastsShadows | ( | void | ) | const [virtual] |
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 | |||
) |
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 |
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] |
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] |
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] |
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.
const PlaneList Ogre::Renderable::msDummyPlaneList [static, protected] |
Definition at line 284 of file OgreRenderable.h.
Definition at line 286 of file OgreRenderable.h.
bool Ogre::Renderable::mPolygonModeOverrideable [protected] |
Definition at line 287 of file OgreRenderable.h.
bool Ogre::Renderable::mUseIdentityProjection [protected] |
Definition at line 288 of file OgreRenderable.h.
bool Ogre::Renderable::mUseIdentityView [protected] |
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 Mon Jun 16 12:52:04 2008