28 #ifndef __SubEntity_H__
29 #define __SubEntity_H__
129 void prepareTempBlendBuffers(
void);
134 const String& getMaterialName()
const;
153 virtual void setVisible(
bool visible);
156 virtual bool isVisible(
void)
const;
169 virtual void setRenderQueueGroup(
uint8 queueID);
184 virtual void setRenderQueueGroupAndPriority(
uint8 queueID,
ushort priority);
187 virtual uint8 getRenderQueueGroup(
void)
const;
190 virtual ushort getRenderQueuePriority(
void)
const;
193 virtual bool isRenderQueueGroupSet(
void)
const;
196 virtual bool isRenderQueuePrioritySet(
void)
const;
221 void setIndexDataStartIndex(
size_t start_index);
226 size_t getIndexDataStartIndex()
const;
232 void setIndexDataEndIndex(
size_t end_index);
236 size_t getIndexDataEndIndex()
const;
240 void resetIndexDataStartEndIndex();
244 void getWorldTransforms(
Matrix4* xform)
const;
247 unsigned short getNumWorldTransforms(
void)
const;
249 Real getSquaredViewDepth(
const Camera* cam)
const;
253 bool getCastsShadows(
void)
const;
272 VertexData* _getSoftwareVertexAnimVertexData(
void);
277 VertexData* _getHardwareVertexAnimVertexData(
void);
291 void _markBuffersUnusedForAnimation(
void);
294 void _markBuffersUsedForAnimation(
void);
300 void _restoreBuffersForUnusedAnimation(
bool hardwareAnimation);
303 void _updateCustomGpuParameter(
309 { mCachedCamera = 0; }
ushort mHardwarePoseCount
Number of hardware blended poses supported by material.
A viewpoint from which the scene will be rendered.
Class encapsulating a standard 4x4 homogeneous matrix.
float Real
Software floating point type.
MaterialPtr mMaterialPtr
Cached pointer to material.
TempBlendedBufferInfo mTempVertexAnimInfo
Temp buffer details for software Vertex anim geometry.
VertexData * mHardwareVertexAnimVertexData
Vertex data details for hardware Vertex anim of shared geometry.
Structure for recording the use of temporary blend buffers.
bool mRenderQueuePrioritySet
Flags whether the RenderQueue's default should be used.
uint8 mRenderQueueID
The render queue to use when rendering this renderable.
Manages the organisation and rendering of a 'scene' i.e.
static String AUTODETECT_RESOURCE_GROUP_NAME
Special resource group name which causes resource group to be automatically determined based on searc...
const Camera * mCachedCamera
The camera for which the cached distance is valid.
SubMesh * mSubMesh
Pointer to the SubMesh defining geometry.
Entity * getParent(void) const
Accessor to get parent Entity.
Class representing an approach to rendering this particular Material.
size_t mIndexEnd
override the end index for the RenderOperation
Abstract class defining the interface all renderable objects must implement.
Structure recording the use of an automatic parameter.
Utility class which defines the sub-parts of an Entity.
bool mVertexAnimationAppliedThisFrame
Have we applied any vertex animation to geometry?
Defines an instance of a discrete, movable object based on a Mesh.
Superclass for all objects that wish to use custom memory allocators when their new / delete operator...
Collects together the program parameters used for a GpuProgram.
void _invalidateCameraCache()
Invalidate the camera distance cache.
bool mRenderQueueIDSet
Flags whether the RenderQueue's default should be used.
Defines a part of a complete mesh.
bool mVisible
Is this SubEntity visible?
Summary class collecting together vertex source information.
'New' rendering operation using vertex buffers.
TempBlendedBufferInfo mTempSkelAnimInfo
Quick lookup of buffers.
Entity * mParentEntity
Pointer to parent.
VertexData * mSkelAnimVertexData
Blend buffer details for dedicated geometry.
VertexData * mSoftwareVertexAnimVertexData
Vertex data details for software Vertex anim of shared geometry.
bool _getBuffersMarkedForAnimation(void) const
Are buffers already marked as vertex animated?
unsigned short mMaterialLodIndex
The LOD number of the material to use, calculated by Entity::_notifyCurrentCamera.
Real mCachedCameraDist
Cached distance to last camera for getSquaredViewDepth.
ushort mRenderQueuePriority
The render queue priority to use when rendering this renderable.
size_t mIndexStart
override the start index for the RenderOperation