18 #include <unordered_map>
49 virtual void addInstance(
const int modelId
55 ,
int geometryLocations,
int lightSourceCount
56 ,
int &outPerGeomTemplateOffset,
int& outNumGeoms,
int& outInstanceIndex);
59 virtual bool removeInstance(
int instanceId);
62 virtual bool hasInstance(
int instanceId)
const;
71 virtual void printPerGeomInstances()
const;
74 virtual int numValidInstances(
void)
const;
77 virtual int numUniqueGeometriesForModel(
int modelId)
const;
81 virtual int numUniqueGeometries()
const;
85 virtual bool instanceEverAdded(
void)
const;
92 virtual void incrementNumUniqueGeometries(
int number);
95 virtual const std::vector<int>& modelAddedOrder()
const;
99 virtual unsigned int maxNumLightSources()
const;
102 virtual void setInstanceModelId(
int instanceId,
int modelId
SetInts myUniqueModels
Add, remove, access instances addInstance also creates the perGeomInstances needed and returns the nu...
Definition: DtInstanceContainer.h:106
std::set< int > SetInts
Definition: DtCommonTypes.h:22
structure for some internal GPU book-keeping
Definition: DtIndirectOffsetAndSize.h:17
MapIntToInt myModelIdToGeometryCount
Add, remove, access instances addInstance also creates the perGeomInstances needed and returns the nu...
Definition: DtInstanceContainer.h:108
#define DT_DLL_VRVINDIRECTRENDERING
Definition: vrvIndirectRendering.h:19
std::map< int, int > MapIntToInt
Definition: DtCommonTypes.h:25
int myRunningInstanceId
Add, remove, access instances addInstance also creates the perGeomInstances needed and returns the nu...
Definition: DtInstanceContainer.h:118
Contains makVrv::DtIndirectOffsetAndSize class.
std::vector< int > VectorInts
Definition: DtCommonTypes.h:20
std::unordered_map< int, int > MapInstanceIdToNumLightSources
Add, remove, access instances addInstance also creates the perGeomInstances needed and returns the nu...
Definition: DtInstanceContainer.h:115
VectorInts myModelAddedOrder
Add, remove, access instances addInstance also creates the perGeomInstances needed and returns the nu...
Definition: DtInstanceContainer.h:107
std::vector< PerGeomInstance > DtPerGeomInstances
Definition: DtPerGeomInstance.h:26
unsigned int myMaxNumLightSources
Add, remove, access instances addInstance also creates the perGeomInstances needed and returns the nu...
Definition: DtInstanceContainer.h:123
std::unordered_map< int, DtIndirectOffsetAndSize > MapInstanceIdToPerGeomInstanceOffsetAndSize
Add, remove, access instances addInstance also creates the perGeomInstances needed and returns the nu...
Definition: DtInstanceContainer.h:112
int myNumValidInstances
Add, remove, access instances addInstance also creates the perGeomInstances needed and returns the nu...
Definition: DtInstanceContainer.h:120
std::vector< Matrix4_64 > VectorMatrix4_64
Definition: DtInstanceContainer.h:22
int myNumUniqueGeometries
Add, remove, access instances addInstance also creates the perGeomInstances needed and returns the nu...
Definition: DtInstanceContainer.h:110
Helper class to manage instances This class allows you to add a DtInstance_64 Internally, however it stores this as a DtInstance (which the GPU can directly read)
Definition: DtInstanceContainer.h:31
MapInstanceIdToPerGeomInstanceOffsetAndSize myMapInstanceIdToPerGeomInstanceOffsetAndSize
Add, remove, access instances addInstance also creates the perGeomInstances needed and returns the nu...
Definition: DtInstanceContainer.h:113
MapInstanceIdToNumLightSources myMapInstanceIdToNumLightSources
Add, remove, access instances addInstance also creates the perGeomInstances needed and returns the nu...
Definition: DtInstanceContainer.h:116
MapIntToInt myModelIdToGeomOffset
Add, remove, access instances addInstance also creates the perGeomInstances needed and returns the nu...
Definition: DtInstanceContainer.h:105
DtReusablePerGeomInstances myPerGeomInstances
Add, remove, access instances addInstance also creates the perGeomInstances needed and returns the nu...
Definition: DtInstanceContainer.h:122
DtPerGeomInstance class declaration.
Contains the per Model info which the indirect module needs These objects are owned by the Indirect g...
Definition: DtIndirectModelInfo.h:67