![]() |
VR-Forces 4.6 Class Documentation
|
Indirect rendering works because we are able to combine multiple geometries into a single 'aggregated geometry' and render this with a single draw call This visitor allows us to incrementally aggregate multiple such osg nodes (e.g flight files) More...

Public Member Functions | |
| DtIndirectGeometryAggregator (osg::ref_ptr< osg::Geometry > aggregatedGeometry, VectorGeometryLocations &locations, VectorMaterials &materials, VectorOsgTextures &textures, const DtLodInfo &lodInfo, const DtIndirectTextureCollectionPolicy &textureCollectionPolicy, const std::string &modelFileName) | |
| Constructor 'aggregatedGeometry', represents the flattened vertex, index buffer of all geometries/drawables encountered so far 'locations' is a flattened list of DtGeometrySpecification's (see DtGeometrySpecification) corresponding to aggregatedGeometry 'textures' is a flattened list of textures corresponding to aggregatedGeometry 'lodInfo' is the lod information (obtained from the read file) This is used to set the bounding box of each geometry visited herein 'textureCollectionPolicy' desrcribes how the textures will be collected and stored. | |
| virtual | ~DtIndirectGeometryAggregator () |
| Destructor. | |
| virtual void | apply (osg::Geometry &geometry) |
| overridden to aggregate the geometry | |
| virtual void | apply (osg::Geode &geode) |
| overridden from osg::NodeVisitor | |
| virtual void | apply (osg::Node &node) |
| overridden from osg::NodeVisitor | |
| virtual bool | geometryNotSupported (const osg::Geometry &geometry) const |
| Can the current system handle this geometry setup? | |
| virtual int | numGeodes () const |
| number of geodes visited/encountered | |
| virtual int | numGeometries () const |
| number of geometries visited/encountered | |
Protected Member Functions | |
| virtual DtMaterial | findMaterial (osg::StateSet *ss) |
| virtual bool | findCullFaceEnabled (osg::StateSet *ss) |
Protected Attributes | |
| int | myNumGeodes |
| int | myNumGeometries |
| VectorGeometryLocations & | myLocations |
| VectorMaterials & | myMaterials |
| VectorOsgTextures & | myTextures |
| osg::ref_ptr< osg::Geometry > | myAggregatedGeometry |
| std::stack < DtIndirectGeometryTexturesPointers > | myTextureStack |
| std::stack< DtMaterial > | myMaterialStack |
| std::stack< bool > | myCullFaceEnabledStack |
| const DtLodInfo | myLodInfo |
| const DtIndirectTextureCollectionPolicy & | myTextureCollectionPolicy |
| const std::string | myModelFileName |
Static Protected Attributes | |
| static const DtMaterial | theDefaultMaterial |
Private Member Functions | |
| DtIndirectGeometryAggregator () | |
| unimplemented default constructor | |
Indirect rendering works because we are able to combine multiple geometries into a single 'aggregated geometry' and render this with a single draw call This visitor allows us to incrementally aggregate multiple such osg nodes (e.g flight files)
| makVrv::DtIndirectGeometryAggregator::DtIndirectGeometryAggregator | ( | osg::ref_ptr< osg::Geometry > | aggregatedGeometry, |
| VectorGeometryLocations & | locations, | ||
| VectorMaterials & | materials, | ||
| VectorOsgTextures & | textures, | ||
| const DtLodInfo & | lodInfo, | ||
| const DtIndirectTextureCollectionPolicy & | textureCollectionPolicy, | ||
| const std::string & | modelFileName | ||
| ) |
Constructor 'aggregatedGeometry', represents the flattened vertex, index buffer of all geometries/drawables encountered so far 'locations' is a flattened list of DtGeometrySpecification's (see DtGeometrySpecification) corresponding to aggregatedGeometry 'textures' is a flattened list of textures corresponding to aggregatedGeometry 'lodInfo' is the lod information (obtained from the read file) This is used to set the bounding box of each geometry visited herein 'textureCollectionPolicy' desrcribes how the textures will be collected and stored.
This is implementation specific (e.g. cdb, regular effect textures, tec) 'modelFileName' is just a debug name typically corresponding to the node we are visiting to aggregate further geometry
|
virtual |
Destructor.
|
private |
unimplemented default constructor
|
virtual |
overridden to aggregate the geometry
|
virtual |
overridden from osg::NodeVisitor
|
virtual |
overridden from osg::NodeVisitor
|
virtual |
Can the current system handle this geometry setup?
|
virtual |
number of geodes visited/encountered
|
virtual |
number of geometries visited/encountered
|
protectedvirtual |
|
protectedvirtual |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
staticprotected |