#include <OgreSubEntity.h>
Public Member Functions | |
const String & | getMaterialName () const |
Gets the name of the Material in use by this instance. | |
void | setMaterialName (const String &name) |
Sets the name of the Material to be used. | |
virtual void | setVisible (bool visible) |
Tells this SubEntity whether to be visible or not. | |
virtual bool | isVisible (void) const |
Returns whether or not this SubEntity is supposed to be visible. | |
SubMesh * | getSubMesh (void) |
Accessor method to read mesh data. | |
Entity * | getParent (void) const |
Accessor to get parent Entity. | |
const MaterialPtr & | getMaterial (void) const |
Overridden - see Renderable. | |
Technique * | getTechnique (void) const |
Overridden - see Renderable. | |
void | getRenderOperation (RenderOperation &op) |
Overridden - see Renderable. | |
void | getWorldTransforms (Matrix4 *xform) const |
Overridden - see Renderable. | |
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. | |
bool | getNormaliseNormals (void) const |
Overridden - see Renderable. | |
unsigned short | getNumWorldTransforms (void) const |
Overridden - see Renderable. | |
Real | getSquaredViewDepth (const Camera *cam) const |
Overridden, see Renderable. | |
const LightList & | getLights (void) const |
Gets a list of lights, ordered relative to how close they are to this renderable.
| |
bool | getCastsShadows (void) const |
Method which reports whether this renderable would normally cast a shadow.
| |
VertexData * | _getSkelAnimVertexData (void) |
Advanced method to get the temporarily blended vertex information for entities which are software skinned. | |
VertexData * | _getSoftwareVertexAnimVertexData (void) |
Advanced method to get the temporarily blended software morph vertex information. | |
VertexData * | _getHardwareVertexAnimVertexData (void) |
Advanced method to get the hardware morph vertex information. | |
TempBlendedBufferInfo * | _getSkelAnimTempBufferInfo (void) |
Advanced method to get the temp buffer information for software skeletal animation. | |
TempBlendedBufferInfo * | _getVertexAnimTempBufferInfo (void) |
Advanced method to get the temp buffer information for software morph animation. | |
VertexData * | getVertexDataForBinding (void) |
Retrieve the VertexData which should be used for GPU binding. | |
void | _markBuffersUnusedForAnimation (void) |
Mark all vertex data as so far unanimated. | |
void | _markBuffersUsedForAnimation (void) |
Mark all vertex data as animated. | |
bool | _getBuffersMarkedForAnimation (void) const |
Are buffers already marked as vertex animated? | |
void | _restoreBuffersForUnusedAnimation (bool hardwareAnimation) |
Internal method to copy original vertex data to the morph structures should there be no active animation in use. | |
void | _updateCustomGpuParameter (const GpuProgramParameters::AutoConstantEntry &constantEntry, GpuProgramParameters *params) const |
Overridden from Renderble to provide some custom behaviour. | |
void | _invalidateCameraCache () |
Invalidate the camera distance cache. | |
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 const PlaneList & | getClipPlanes () const |
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 | 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 Member Functions | |
SubEntity (Entity *parent, SubMesh *subMeshBasis) | |
Private constructor - don't allow creation by anybody else. | |
virtual | ~SubEntity () |
Private destructor. | |
void | prepareTempBlendBuffers (void) |
Internal method for preparing this Entity for use in animation. | |
Protected Attributes | |
Entity * | mParentEntity |
Pointer to parent. | |
String | mMaterialName |
Name of Material in use by this SubEntity. | |
MaterialPtr | mpMaterial |
Cached pointer to material. | |
SubMesh * | mSubMesh |
bool | mVisible |
Is this SubEntity visible? | |
unsigned short | mMaterialLodIndex |
The LOD number of the material to use, calculated by Entity::_notifyCurrentCamera. | |
VertexData * | mSkelAnimVertexData |
blend buffer details for dedicated geometry | |
TempBlendedBufferInfo | mTempSkelAnimInfo |
Quick lookup of buffers. | |
TempBlendedBufferInfo | mTempVertexAnimInfo |
Temp buffer details for software Vertex anim geometry. | |
VertexData * | mSoftwareVertexAnimVertexData |
Vertex data details for software Vertex anim of shared geometry. | |
VertexData * | mHardwareVertexAnimVertexData |
Vertex data details for hardware Vertex anim of shared geometry
| |
bool | mVertexAnimationAppliedThisFrame |
Have we applied any vertex animation to geometry? | |
ushort | mHardwarePoseCount |
Number of hardware blended poses supported by material. | |
Real | mCachedCameraDist |
Cached distance to last camera for getSquaredViewDepth. | |
const Camera * | mCachedCamera |
The camera for which the cached distance is valid. | |
CustomParameterMap | mCustomParameters |
bool | mPolygonModeOverrideable |
bool | mUseIdentityProjection |
bool | mUseIdentityView |
Static Protected Attributes | |
static const PlaneList | msDummyPlaneList |
Friends | |
class | Entity |
class | SceneManager |
Definition at line 56 of file OgreSubEntity.h.
typedef std::map<size_t, Vector4> Ogre::Renderable::CustomParameterMap [protected, inherited] |
Definition at line 285 of file OgreRenderable.h.
Private constructor - don't allow creation by anybody else.
virtual Ogre::SubEntity::~SubEntity | ( | ) | [protected, virtual] |
Private destructor.
void Ogre::SubEntity::prepareTempBlendBuffers | ( | void | ) | [protected] |
Internal method for preparing this Entity for use in animation.
const String& Ogre::SubEntity::getMaterialName | ( | ) | const |
Gets the name of the Material in use by this instance.
void Ogre::SubEntity::setMaterialName | ( | const String & | name | ) |
virtual void Ogre::SubEntity::setVisible | ( | bool | visible | ) | [virtual] |
Tells this SubEntity whether to be visible or not.
virtual bool Ogre::SubEntity::isVisible | ( | void | ) | const [virtual] |
Returns whether or not this SubEntity is supposed to be visible.
SubMesh* Ogre::SubEntity::getSubMesh | ( | void | ) |
Accessor method to read mesh data.
Entity* Ogre::SubEntity::getParent | ( | void | ) | const |
const MaterialPtr& Ogre::SubEntity::getMaterial | ( | void | ) | const [virtual] |
Technique* Ogre::SubEntity::getTechnique | ( | void | ) | const [virtual] |
void Ogre::SubEntity::getRenderOperation | ( | RenderOperation & | op | ) | [virtual] |
void Ogre::SubEntity::getWorldTransforms | ( | Matrix4 * | xform | ) | const [virtual] |
const Quaternion& Ogre::SubEntity::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.
const Vector3& Ogre::SubEntity::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.
bool Ogre::SubEntity::getNormaliseNormals | ( | void | ) | const [virtual] |
unsigned short Ogre::SubEntity::getNumWorldTransforms | ( | void | ) | const [virtual] |
const LightList& Ogre::SubEntity::getLights | ( | void | ) | const [virtual] |
Gets a list of lights, ordered relative to how close they are to this renderable.
Implements Ogre::Renderable.
bool Ogre::SubEntity::getCastsShadows | ( | void | ) | const [virtual] |
Method which reports whether this renderable would normally cast a shadow.
Reimplemented from Ogre::Renderable.
VertexData* Ogre::SubEntity::_getSkelAnimVertexData | ( | void | ) |
Advanced method to get the temporarily blended vertex information for entities which are software skinned.
VertexData* Ogre::SubEntity::_getSoftwareVertexAnimVertexData | ( | void | ) |
Advanced method to get the temporarily blended software morph vertex information.
VertexData* Ogre::SubEntity::_getHardwareVertexAnimVertexData | ( | void | ) |
Advanced method to get the hardware morph vertex information.
TempBlendedBufferInfo* Ogre::SubEntity::_getSkelAnimTempBufferInfo | ( | void | ) |
Advanced method to get the temp buffer information for software skeletal animation.
TempBlendedBufferInfo* Ogre::SubEntity::_getVertexAnimTempBufferInfo | ( | void | ) |
Advanced method to get the temp buffer information for software morph animation.
VertexData* Ogre::SubEntity::getVertexDataForBinding | ( | void | ) |
Retrieve the VertexData which should be used for GPU binding.
void Ogre::SubEntity::_markBuffersUnusedForAnimation | ( | void | ) |
Mark all vertex data as so far unanimated.
void Ogre::SubEntity::_markBuffersUsedForAnimation | ( | void | ) |
Mark all vertex data as animated.
bool Ogre::SubEntity::_getBuffersMarkedForAnimation | ( | void | ) | const |
void Ogre::SubEntity::_restoreBuffersForUnusedAnimation | ( | bool | hardwareAnimation | ) |
Internal method to copy original vertex data to the morph structures should there be no active animation in use.
void Ogre::SubEntity::_updateCustomGpuParameter | ( | const GpuProgramParameters::AutoConstantEntry & | constantEntry, | |
GpuProgramParameters * | params | |||
) | const [virtual] |
void Ogre::SubEntity::_invalidateCameraCache | ( | ) |
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 const PlaneList& Ogre::Renderable::getClipPlanes | ( | ) | const [virtual, inherited] |
Definition at line 179 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::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.
friend class Entity [friend] |
Definition at line 59 of file OgreSubEntity.h.
friend class SceneManager [friend] |
Definition at line 60 of file OgreSubEntity.h.
Entity* Ogre::SubEntity::mParentEntity [protected] |
String Ogre::SubEntity::mMaterialName [protected] |
MaterialPtr Ogre::SubEntity::mpMaterial [protected] |
SubMesh* Ogre::SubEntity::mSubMesh [protected] |
Definition at line 80 of file OgreSubEntity.h.
bool Ogre::SubEntity::mVisible [protected] |
unsigned short Ogre::SubEntity::mMaterialLodIndex [protected] |
The LOD number of the material to use, calculated by Entity::_notifyCurrentCamera.
Definition at line 86 of file OgreSubEntity.h.
VertexData* Ogre::SubEntity::mSkelAnimVertexData [protected] |
Temp buffer details for software Vertex anim geometry.
Definition at line 93 of file OgreSubEntity.h.
VertexData* Ogre::SubEntity::mSoftwareVertexAnimVertexData [protected] |
Vertex data details for software Vertex anim of shared geometry.
Definition at line 95 of file OgreSubEntity.h.
VertexData* Ogre::SubEntity::mHardwareVertexAnimVertexData [protected] |
Vertex data details for hardware Vertex anim of shared geometry
Definition at line 99 of file OgreSubEntity.h.
bool Ogre::SubEntity::mVertexAnimationAppliedThisFrame [protected] |
ushort Ogre::SubEntity::mHardwarePoseCount [protected] |
Number of hardware blended poses supported by material.
Definition at line 103 of file OgreSubEntity.h.
Real Ogre::SubEntity::mCachedCameraDist [mutable, protected] |
Cached distance to last camera for getSquaredViewDepth.
Definition at line 105 of file OgreSubEntity.h.
const Camera* Ogre::SubEntity::mCachedCamera [mutable, protected] |
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 Mon Jun 16 12:54:20 2008