Go to the documentation of this file.
28 #ifndef __SubEntity_H__
29 #define __SubEntity_H__
309 { mCachedCamera = 0; }
void _invalidateCameraCache()
Invalidate the camera distance cache.
size_t mIndexStart
override the start index for the RenderOperation
Superclass for all objects that wish to use custom memory allocators when their new / delete operator...
Real mCachedCameraDist
Cached distance to last camera for getSquaredViewDepth.
ushort mHardwarePoseCount
Number of hardware blended poses supported by material.
void resetIndexDataStartEndIndex()
Reset the custom start/end index to the default values.
A viewpoint from which the scene will be rendered.
Utility class which defines the sub-parts of an Entity.
TempBlendedBufferInfo mTempSkelAnimInfo
Quick lookup of buffers.
const String & getMaterialName() const
Gets the name of the Material in use by this instance.
unsigned short mMaterialLodIndex
The LOD number of the material to use, calculated by Entity::_notifyCurrentCamera.
Entity * getParent(void) const
Accessor to get parent Entity.
virtual ~SubEntity()
Private destructor.
virtual bool isVisible(void) const
Returns whether or not this SubEntity is supposed to be visible.
virtual void setRenderQueueGroupAndPriority(uint8 queueID, ushort priority)
Sets the render queue group and group priority this SubEntity will be rendered through.
bool getCastsShadows(void) const
Method which reports whether this renderable would normally cast a shadow.
Structure recording the use of an automatic parameter.
bool mVisible
Is this SubEntity visible?
VertexData * mSkelAnimVertexData
Blend buffer details for dedicated geometry.
size_t getIndexDataStartIndex() const
Returns the current value of the start index used for drawing.
void getRenderOperation(RenderOperation &op)
Overridden - see Renderable.
static String AUTODETECT_RESOURCE_GROUP_NAME
Special resource group name which causes resource group to be automatically determined based on searc...
void setMaterial(const MaterialPtr &material)
Sets a Material to be used.
MaterialPtr mMaterialPtr
Cached pointer to material.
TempBlendedBufferInfo * _getVertexAnimTempBufferInfo(void)
Advanced method to get the temp buffer information for software morph animation.
Class representing an approach to rendering this particular Material.
const Camera * mCachedCamera
The camera for which the cached distance is valid.
TempBlendedBufferInfo * _getSkelAnimTempBufferInfo(void)
Advanced method to get the temp buffer information for software skeletal animation.
void _restoreBuffersForUnusedAnimation(bool hardwareAnimation)
Internal method to copy original vertex data to the morph structures should there be no active animat...
VertexData * mSoftwareVertexAnimVertexData
Vertex data details for software Vertex anim of shared geometry.
Defines an instance of a discrete, movable object based on a Mesh.
uint8 mRenderQueueID
The render queue to use when rendering this renderable.
Summary class collecting together vertex source information.
virtual ushort getRenderQueuePriority(void) const
Gets the queue group for this entity, see setRenderQueueGroup for full details.
size_t mIndexEnd
override the end index for the RenderOperation
Class encapsulating a standard 4x4 homogeneous matrix.
bool mRenderQueueIDSet
Flags whether the RenderQueue's default should be used.
VertexData * _getHardwareVertexAnimVertexData(void)
Advanced method to get the hardware morph vertex information.
Manages the organisation and rendering of a 'scene' i.e.
void setMaterialName(const String &name, const String &groupName=ResourceGroupManager::AUTODETECT_RESOURCE_GROUP_NAME)
Sets the name of the Material to be used.
VertexData * _getSkelAnimVertexData(void)
Advanced method to get the temporarily blended vertex information for entities which are software ski...
bool mRenderQueuePrioritySet
Flags whether the RenderQueue's default should be used.
Defines a part of a complete mesh.
Real getSquaredViewDepth(const Camera *cam) const
Overridden, see Renderable.
void setIndexDataStartIndex(size_t start_index)
Tells this SubEntity to draw a subset of the SubMesh by adjusting the index buffer extents.
virtual bool isRenderQueueGroupSet(void) const
Gets the queue group for this entity, see setRenderQueueGroup for full details.
Collects together the program parameters used for a GpuProgram.
SubMesh * getSubMesh(void)
Accessor method to read mesh data.
Entity * mParentEntity
Pointer to parent.
Technique * getTechnique(void) const
Overridden - see Renderable.
ushort mRenderQueuePriority
The render queue priority to use when rendering this renderable.
Structure for recording the use of temporary blend buffers.
void getWorldTransforms(Matrix4 *xform) const
Overridden - see Renderable.
virtual bool isRenderQueuePrioritySet(void) const
Gets the queue group for this entity, see setRenderQueueGroup for full details.
unsigned short getNumWorldTransforms(void) const
Overridden - see Renderable.
VertexData * mHardwareVertexAnimVertexData
Vertex data details for hardware Vertex anim of shared geometry.
virtual void setVisible(bool visible)
Tells this SubEntity whether to be visible or not.
Abstract class defining the interface all renderable objects must implement.
const LightList & getLights(void) const
Gets a list of lights, ordered relative to how close they are to this renderable.
SubEntity(Entity *parent, SubMesh *subMeshBasis)
Private constructor - don't allow creation by anybody else.
void _markBuffersUnusedForAnimation(void)
Mark all vertex data as so far unanimated.
virtual void setRenderQueueGroup(uint8 queueID)
Sets the render queue group this SubEntity will be rendered through.
void prepareTempBlendBuffers(void)
Internal method for preparing this Entity for use in animation.
float Real
Software floating point type.
VertexData * _getSoftwareVertexAnimVertexData(void)
Advanced method to get the temporarily blended software morph vertex information.
size_t getIndexDataEndIndex() const
Returns the current value of the start index used for drawing.
virtual uint8 getRenderQueueGroup(void) const
Gets the queue group for this entity, see setRenderQueueGroup for full details.
const MaterialPtr & getMaterial(void) const
Overridden - see Renderable.
void _updateCustomGpuParameter(const GpuProgramParameters::AutoConstantEntry &constantEntry, GpuProgramParameters *params) const
Overridden from Renderable to provide some custom behaviour.
void setIndexDataEndIndex(size_t end_index)
Tells this SubEntity to draw a subset of the SubMesh by adjusting the index buffer extents.
TempBlendedBufferInfo mTempVertexAnimInfo
Temp buffer details for software Vertex anim geometry.
SubMesh * mSubMesh
Pointer to the SubMesh defining geometry.
bool _getBuffersMarkedForAnimation(void) const
Are buffers already marked as vertex animated?
VertexData * getVertexDataForBinding(void)
Retrieve the VertexData which should be used for GPU binding.
'New' rendering operation using vertex buffers.
void _markBuffersUsedForAnimation(void)
Mark all vertex data as animated.
bool mVertexAnimationAppliedThisFrame
Have we applied any vertex animation to geometry?
Copyright © 2012 Torus Knot Software Ltd

This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.