OGRE
1.11.6
Object-Oriented Graphics Rendering Engine
|
Abstract class defining the interface all renderable objects must implement. More...
#include <OgreRenderable.h>
Classes | |
class | RenderSystemData |
An internal class that should be used only by a render system for internal use. More... | |
class | Visitor |
Visitor object that can be used to iterate over a collection of Renderable instances abstractly. More... | |
Public Types | |
typedef SharedPtr< RenderSystemData > | RenderSystemDataPtr |
Public Member Functions | |
Renderable () | |
virtual | ~Renderable () |
Virtual destructor needed as class has virtual methods. More... | |
virtual void | _updateCustomGpuParameter (const GpuProgramParameters::AutoConstantEntry &constantEntry, GpuProgramParameters *params) const |
Update a custom GpuProgramParameters constant which is derived from information only this Renderable knows. More... | |
virtual bool | getCastsShadows (void) const |
Method which reports whether this renderable would normally cast a shadow. More... | |
const Vector4 & | getCustomParameter (size_t index) const |
Gets the custom value associated with this Renderable at the given index. More... | |
virtual const LightList & | getLights (void) const =0 |
Gets a list of lights, ordered relative to how close they are to this renderable. More... | |
virtual const MaterialPtr & | getMaterial (void) const =0 |
Retrieves a weak reference to the material this renderable object uses. More... | |
virtual unsigned short | getNumWorldTransforms (void) const |
Returns the number of world transform matrices this renderable requires. More... | |
bool | getPolygonModeOverrideable (void) const |
Gets whether this renderable's chosen detail level can be overridden (downgraded) by the camera setting. More... | |
virtual void | getRenderOperation (RenderOperation &op)=0 |
Gets the render operation required to send this object to the frame buffer. More... | |
const RenderSystemDataPtr & | getRenderSystemData () const |
Gets RenderSystem private data. More... | |
virtual Real | getSquaredViewDepth (const Camera *cam) const =0 |
Returns the camera-relative squared depth of this renderable. More... | |
virtual Technique * | getTechnique (void) const |
Retrieves a pointer to the Material Technique this renderable object uses. More... | |
bool | getUseIdentityProjection (void) const |
Returns whether or not to use an 'identity' projection. More... | |
bool | getUseIdentityView (void) const |
Returns whether or not to use an 'identity' view. More... | |
const Any & | getUserAny (void) const |
UserObjectBindings & | getUserObjectBindings () |
Return an instance of user objects binding associated with this class. More... | |
const UserObjectBindings & | getUserObjectBindings () const |
Return an instance of user objects binding associated with this class. More... | |
virtual void | getWorldTransforms (Matrix4 *xform) const =0 |
Gets the world transform matrix / matrices for this renderable object. More... | |
bool | hasCustomParameter (size_t index) const |
Checks whether a custom value is associated with this Renderable at the given index. More... | |
virtual void | postRender (SceneManager *sm, RenderSystem *rsys) |
Called immediately after the Renderable has been rendered. More... | |
virtual bool | preRender (SceneManager *sm, RenderSystem *rsys) |
Called just prior to the Renderable being rendered. More... | |
void | removeCustomParameter (size_t index) |
Removes a custom value which is associated with this Renderable at the given index. More... | |
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. More... | |
void | setPolygonModeOverrideable (bool override) |
Sets whether this renderable's chosen detail level can be overridden (downgraded) by the camera setting. More... | |
void | setRenderSystemData (RenderSystemDataPtr val) const |
Sets RenderSystem private data. More... | |
void | setUseIdentityProjection (bool useIdentityProjection) |
Sets whether or not to use an 'identity' projection. More... | |
void | setUseIdentityView (bool useIdentityView) |
Sets whether or not to use an 'identity' view. More... | |
void | setUserAny (const Any &anything) |
Abstract class defining the interface all renderable objects must implement.
|
inline |
|
inlinevirtual |
Virtual destructor needed as class has virtual methods.
|
pure virtual |
Retrieves a weak reference to the material this renderable object uses.
Implemented in Ogre::BillboardSet, Ogre::Frustum, Ogre::ManualObject::ManualObjectSection, Ogre::InstanceBatch, Ogre::BorderRenderable, Ogre::OverlayElement, Ogre::BillboardChain, Ogre::StaticGeometry::GeometryBucket, Ogre::SubEntity, Ogre::Node::DebugRenderable, Ogre::TextAreaOverlayElement, Ogre::SimpleRenderable, and Ogre::ShadowRenderable.
|
inlinevirtual |
Retrieves a pointer to the Material Technique this renderable object uses.
Reimplemented in Ogre::InstanceBatch, Ogre::StaticGeometry::GeometryBucket, and Ogre::SubEntity.
|
pure virtual |
Gets the render operation required to send this object to the frame buffer.
Implemented in Ogre::BillboardSet, Ogre::Frustum, Ogre::ManualObject::ManualObjectSection, Ogre::InstanceBatch, Ogre::BorderRenderable, Ogre::BillboardChain, Ogre::StaticGeometry::GeometryBucket, Ogre::SubEntity, Ogre::Node::DebugRenderable, Ogre::PanelOverlayElement, Ogre::TextAreaOverlayElement, Ogre::SimpleRenderable, and Ogre::ShadowRenderable.
|
inlinevirtual |
Called just prior to the Renderable being rendered.
Reimplemented in Ogre::BillboardChain.
|
inlinevirtual |
Called immediately after the Renderable has been rendered.
|
pure virtual |
Gets the world transform matrix / matrices for this renderable object.
Implemented in Ogre::BillboardSet, Ogre::Frustum, Ogre::ManualObject::ManualObjectSectionShadowRenderable, Ogre::ManualObject::ManualObjectSection, Ogre::Camera, Ogre::BorderRenderable, Ogre::OverlayElement, Ogre::BillboardChain, Ogre::StaticGeometry::GeometryBucket, Ogre::SubEntity, Ogre::BaseInstanceBatchVTF, Ogre::Node::DebugRenderable, Ogre::InstanceBatchHW, Ogre::InstanceBatchShader, Ogre::SimpleRenderable, and Ogre::ShadowRenderable.
|
inlinevirtual |
Returns the number of world transform matrices this renderable requires.
Reimplemented in Ogre::BorderRenderable, Ogre::SubEntity, Ogre::BaseInstanceBatchVTF, Ogre::InstanceBatchHW, and Ogre::InstanceBatchShader.
|
inline |
Sets whether or not to use an 'identity' projection.
|
inline |
Returns whether or not to use an 'identity' projection.
|
inline |
Sets whether or not to use an 'identity' view.
|
inline |
Returns whether or not to use an 'identity' view.
Returns the camera-relative squared depth of this renderable.
Implemented in Ogre::BillboardSet, Ogre::Frustum, Ogre::OverlayElement, Ogre::ManualObject::ManualObjectSection, Ogre::InstanceBatch, Ogre::BorderRenderable, Ogre::Volume::Chunk, Ogre::BillboardChain, Ogre::SubEntity, Ogre::StaticGeometry::GeometryBucket, Ogre::Node::DebugRenderable, Ogre::Rectangle2D, Ogre::ShadowRenderable, and Ogre::WireBoundingBox.
|
pure virtual |
Gets a list of lights, ordered relative to how close they are to this renderable.
Implemented in Ogre::BillboardSet, Ogre::Frustum, Ogre::OverlayElement, Ogre::ManualObject::ManualObjectSection, Ogre::InstanceBatch, Ogre::BorderRenderable, Ogre::BillboardChain, Ogre::SubEntity, Ogre::StaticGeometry::GeometryBucket, Ogre::Node::DebugRenderable, Ogre::SimpleRenderable, and Ogre::ShadowRenderable.
|
inlinevirtual |
Method which reports whether this renderable would normally cast a shadow.
Reimplemented in Ogre::SubEntity, and Ogre::StaticGeometry::GeometryBucket.
|
inline |
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. |
|
inline |
Removes a custom value which is associated with this Renderable at the given index.
index | Index of the parameter to remove. |
|
inline |
Checks whether a custom value is associated with this Renderable at the given index.
index | Index of the parameter to check for existence. |
|
inline |
Gets the custom value associated with this Renderable at the given index.
index | Index of the parameter to retrieve. |
References Ogre::Exception::ERR_ITEM_NOT_FOUND, and OGRE_EXCEPT.
|
inlinevirtual |
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.
References Ogre::GpuProgramParameters::_writeRawConstant(), Ogre::GpuProgramParameters::AutoConstantEntry::data, Ogre::GpuProgramParameters::AutoConstantEntry::elementCount, and Ogre::GpuProgramParameters::AutoConstantEntry::physicalIndex.
|
inline |
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. |
|
inline |
Gets whether this renderable's chosen detail level can be overridden (downgraded) by the camera setting.
Referenced by Ogre::BorderRenderable::getPolygonModeOverrideable().
|
inline |
Sets any kind of user value on this object.
Referenced by Ogre::InstanceBatch::getRenderOperation().
|
inline |
Retrieves the custom user value associated with this object.
Referenced by Ogre::InstanceBatch::getRenderOperation().
|
inline |
Return an instance of user objects binding associated with this class.
You can use it to associate one or more custom objects with this class instance.
|
inline |
Return an instance of user objects binding associated with this class.
You can use it to associate one or more custom objects with this class instance.
|
inline |
Gets RenderSystem private data.
|
inline |
Sets RenderSystem private data.