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;
SetInts myUniqueModels
Definition: DtInstanceContainer.h:103
std::set< int > SetInts
Definition: DtCommonTypes.h:22
structure for some internal GPU book-keeping
Definition: DtIndirectOffsetAndSize.h:17
MapIntToInt myModelIdToGeometryCount
Definition: DtInstanceContainer.h:105
#define DT_DLL_VRVINDIRECTRENDERING
Definition: vrvIndirectRendering.h:19
std::map< int, int > MapIntToInt
Definition: DtCommonTypes.h:25
int myRunningInstanceId
Definition: DtInstanceContainer.h:115
Contains makVrv::DtIndirectOffsetAndSize class.
std::vector< int > VectorInts
Definition: DtCommonTypes.h:20
std::unordered_map< int, int > MapInstanceIdToNumLightSources
Definition: DtInstanceContainer.h:112
VectorInts myModelAddedOrder
Definition: DtInstanceContainer.h:104
contains the Per Model info which DtAggregatedGeometry needs It is owned by the Indirect geometry reg...
Definition: DtAggregateModelInfo.h:31
std::vector< PerGeomInstance > DtPerGeomInstances
Definition: DtPerGeomInstance.h:26
unsigned int myMaxNumLightSources
Definition: DtInstanceContainer.h:120
std::unordered_map< int, DtIndirectOffsetAndSize > MapInstanceIdToPerGeomInstanceOffsetAndSize
Definition: DtInstanceContainer.h:109
int myNumValidInstances
Definition: DtInstanceContainer.h:117
std::vector< Matrix4_64 > VectorMatrix4_64
Definition: DtInstanceContainer.h:22
int myNumUniqueGeometries
Definition: DtInstanceContainer.h:107
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
Definition: DtInstanceContainer.h:110
MapInstanceIdToNumLightSources myMapInstanceIdToNumLightSources
Definition: DtInstanceContainer.h:113
MapIntToInt myModelIdToGeomOffset
Definition: DtInstanceContainer.h:102
DtReusablePerGeomInstances myPerGeomInstances
Definition: DtInstanceContainer.h:119
DtPerGeomInstance class declaration.