28 #ifndef __BaseInstanceBatchVTF_H__
29 #define __BaseInstanceBatchVTF_H__
125 void createVertexTexture(
const SubMesh* baseSubMesh );
131 size_t convert3x4MatricesToDualQuaternions(
float* matrices,
size_t numOfMatrices,
float* outDualQuaternions);
134 void updateVertexTexture(
void);
137 virtual bool matricesTogetherPerRow()
const = 0;
140 virtual void updateSharedLookupIndexes();
155 void getWorldTransforms(
Matrix4* xform )
const;
156 unsigned short getNumWorldTransforms(
void)
const;
173 void setBoneMatrixLookup(
bool enable,
size_t maxLookupTableInstances) { assert(mInstancedEntities.empty());
174 mUseBoneMatrixLookup = enable; mMaxLookupTableInstances = maxLookupTableInstances; }
182 mUseBoneDualQuaternions = enable; mRowLength = (mUseBoneDualQuaternions ? 2 : 3); }
187 mForceOneWeight = enable; }
192 mUseOneWeight = enable; }
207 void setupVertices(
const SubMesh* baseSubMesh );
208 void setupIndices(
const SubMesh* baseSubMesh );
222 size_t calculateMaxNumInstances(
const SubMesh *baseSubMesh,
uint16 flags )
const;