28 #ifndef __InstanceManager_H__
29 #define __InstanceManager_H__
72 InstancingTechniquesCount
90 bool setting[NUM_SETTINGS];
94 setting[CAST_SHADOWS] =
true;
95 setting[SHOW_BOUNDINGBOX] =
false;
160 size_t instancesPerBatch,
unsigned short subMeshIdx,
bool useBoneMatrixLookup =
false);
172 void setInstancesPerBatch(
size_t instancesPerBatch );
182 void setMaxLookupTableInstances(
size_t maxLookupTableInstances );
202 void setNumCustomParams(
unsigned char numCustomParams );
205 {
return mNumCustomParams; }
209 {
return mInstancingTechnique; }
222 size_t getMaxOrBestNumInstancesPerBatch(
String materialName,
size_t suggestedSize,
uint16 flags );
233 void cleanupEmptyBatches(
void);
258 void defragmentBatches(
bool optimizeCulling );
278 bool getSetting( BatchSettingId
id,
const String &materialName )
const;
284 {
return mBatchSettings.find( materialName ) != mBatchSettings.end(); }
287 void setBatchesAsStaticAndUpdate(
bool bStatic );
295 void _updateDirtyBatches(
void);
312 InstanceBatchMap::const_iterator it = mInstanceBatches.find( materialName );
313 if(it != mInstanceBatches.end())
317 "Material " + materialName +
" cannot be found.",
"InstanceManager::getInstanceBatchIterator");
324 #endif // __InstanceManager_H__