20 #include <osg/Matrixd>
23 #include <tbb/atomic.h>
25 #define DTCELLINDIRECTGEO_CONSTRUCT_DESTRUCT_DEBUG 0
30 class DtIndirectGeometryCreator;
31 class DtIndirectGeoComputeBoundCallbackCreator;
32 class DtIndirectVisitorControlGroupCreator;
33 class DtCullShaderConfig;
34 class DtIndirectModelsContainer;
35 class DtIndirectGeometry;
36 struct DtIndirectFadeParameters;
49 bool includeIntersectionGeoInNodePath,
75 virtual void setParent(
const osg::Group* parent);
83 virtual const osg::BoundingBoxd& boundingBox(
void)
const;
91 virtual osg::Group* indirectIntersectionGroup();
96 virtual void expandBoundingBox(
const osg::Node* modelNode,
const osg::Matrixd& instanceXForm);
100 virtual void addInstanceInternal(
const osg::Matrixd& instanceXForm,
102 const osg::Node* modelNode,
103 const osg::NodePath& nodePath,
105 bool addToIntersectionGroup =
true,
113 #if DTCELLINDIRECTGEO_CONSTRUCT_DESTRUCT_DEBUG
114 static tbb::atomic<int> myBaseRefCount;
DtDe & myDe
Definition: DtCellIndirectGeo.h:124
osg::ref_ptr< osg::Group > myIndirectGeoIntersectionGroup
Definition: DtCellIndirectGeo.h:118
struct for holding the fade parameters used by the indirect rendering cull compute shader ...
Definition: DtGpuCullingAndLodDefines.h:21
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
Definition: featureContext.h:37
creator for DtIndirectGeometry
Definition: DtIndirectGeometry.h:325
std::deque< NodeSwitchInfoPair > DequeNodeSwitchInfoPairs
Definition: DtIndirectSwitchManager.h:72
DtGeometrySpecification class declaration.
shader configuration storage class.
Definition: DtCullShaderConfig.h:19
creator for DtIndirectVisitorControlGroup
Definition: DtIndirectVisitorControlGroup.h:56
bool myIncludeIntersectionGeoInNodePath
Definition: DtCellIndirectGeo.h:128
osg::ref_ptr< DtIndirectGeometry > myIndirectGeometry
Definition: DtCellIndirectGeo.h:117
class for holding an indirect geometry registrar (which holds the information about how to draw model...
Definition: DtIndirectModelsContainer.h:47
creator for osg::Drawable::ComputeBoundingBoxCallback
Definition: DtIndirectGeoComputeBoundCallback.h:54
Helper for managing indirect geometry, its intersection group and registrar corresponding to a 'tile ...
Definition: DtCellIndirectGeo.h:41
This class inherits from osg::Drawable, which allows us to hook into our indirect engine to render us...
Definition: DtIndirectGeometry.h:69
OpenThreads::Mutex Mutex
Definition: DtOsgThreadingUtils.h:12
bool myFirstInstance
Definition: DtCellIndirectGeo.h:125
Contains makVrv::DtIndirectSwitchManager class.
osg::BoundingBoxd myBoundingBox
bounding box computation management
Definition: DtCellIndirectGeo.h:121
Contains makVrv::DtIndirectLodManager class.
Contains DLL export macros.
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
bool myOwnsModelsContainer
Definition: DtCellIndirectGeo.h:111
std::deque< IndirectLodInfo > DequeIndirectLodInfos
Definition: DtIndirectLodManager.h:95
DtIndirectVisitorControlGroupCreator & myIndirectGeoIntersectionGroupCreator
Definition: DtCellIndirectGeo.h:127
DtIndirectModelsContainer * myModelsContainer
Definition: DtCellIndirectGeo.h:110
Threading::Mutex myMutableBoundingBoxMutex
Definition: DtCellIndirectGeo.h:122