25 #define CPU_SIDE_COMPILATION 1
26 #include <../data/shaders/indirect/GeometrySpecification.h>
33 #include <osg/Geometry>
35 #include <tbb/concurrent_queue.h>
37 #include <boost/thread.hpp>
39 #include <shared_mutex>
46 class DtCoreGlBufferCreator;
47 class DtIndirectModelInfoContainer;
48 class DtIndirectGeometryAggregator;
49 class DtIndirectGeometryRegistrar;
50 class DtIndirectAggregateHelper;
51 class DtIndirectModelSubGeometry;
53 class DtIndirectModelInfo;
115 virtual void releaseGLObjects(osg::State* state)
const;
121 virtual bool hasDataToAsyncLoad()
const;
124 virtual bool hasDataToCopy()
const;
127 virtual int isCopyingData()
const;
131 virtual bool isNotCopyingData();
134 virtual int numModels(
void)
const;
137 virtual int modelId(
int index)
const;
147 virtual GLenum indicesType(
void)
const;
150 virtual void copyDataQueue();
154 virtual int numTexCoordArrays(
void)
const;
160 virtual std::shared_timed_mutex& mapModelsToModelInfoMutex();
int myMaxCoordsBindless
Definition: DtIndirectModelInfoContainer.h:179
Contains makVrv::DtIndirectUvOffsetManager class.
Definition: DtIndirectModelInfoContainer.h:55
Contains makVrv::DtLightPointNode class.
DtMaterial class declaration.
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
friend DtIndirectModelInfoContainerCreator
only creator can create
Definition: DtIndirectModelInfoContainer.h:92
std::vector< DtCopyModelSubGeomDataStructure > mySubGeomsToCopy
Definition: DtIndirectModelInfoContainer.h:65
DtDe & myDe
reference to De
Definition: DtIndirectModelInfoContainer.h:184
Definition: DtIndirectModelInfoContainer.h:62
DtIndirectModelInfo * myModelInfo
Definition: DtIndirectModelInfoContainer.h:81
bool myCreated
Definition: DtIndirectModelInfoContainer.h:82
Class that loads and contains a bunch of models registered with the registrar. It is owned by the Ind...
Definition: DtIndirectModelInfoContainer.h:88
std::map< int, DtIndirectModelInfo * > MapModelsToModelInfo
Definition: DtIndirectModelInfoContainer.h:111
osg::Matrix myMatrix
Definition: DtIndirectModelInfoContainer.h:59
boost::mutex myCopyDataMutex
Definition: DtIndirectModelInfoContainer.h:173
Variadic templated creator class for defining a DtVirtualBaseClass creator that is automatically regi...
Definition: DtVirtualBaseClassCreator.h:23
boost::mutex myMutableMaxCoordsBindlessMutex
Definition: DtIndirectModelInfoContainer.h:178
Contains makVrv::DtIndirectDofManager class.
This class represents the list of DtIndirectTexturePrototypes belonging to a particular sub-geometry...
Definition: DtIndirectGeometryTextures.h:38
std::shared_timed_mutex myMutableMapModelsToModelInfoMutex
mutex needs to be used in const functions so must be mutable. read/write mutex protecting the myMapMo...
Definition: DtIndirectModelInfoContainer.h:177
const char * creatorTypeName< DtIndirectModelInfoContainer >(void)
template specialization for the creator (pass the class being created to the creatorTypeName template...
Definition: DtIndirectModelInfoContainer.h:77
DtVirtualBaseClassCreator< DtIndirectModelInfoContainer > DtIndirectModelInfoContainerCreator
creator
Definition: DtIndirectModelInfoContainer.h:70
Contains makVrv::DtIndirectSwitchManager class.
unsigned int GLenum
Definition: DtGlTextureBufferObject.h:19
DtIndirectGeometryTextures myTextureForThisGeometry
Definition: DtIndirectModelInfoContainer.h:58
Contains makVrv::DtIndirectLodManager class.
tbb::concurrent_queue< DtCopyModelDataStructure > myModelDataToCopy
Definition: DtIndirectModelInfoContainer.h:170
Contains DLL export macros.
Definition: DtIndirectModelInfoContainer.h:79
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:76
Contains the DtIndirectGeometryTextures class declaration.
std::atomic< int > myIsCopyingData
Definition: DtIndirectModelInfoContainer.h:172
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
osg::ref_ptr< const osg::Geometry > mySrcOsgGeometryForSubModel
Definition: DtIndirectModelInfoContainer.h:57
std::atomic< int > myCancelTask
Definition: DtIndirectModelInfoContainer.h:181
MapModelsToModelInfo myMapModelsToModelInfo
Definition: DtIndirectModelInfoContainer.h:167