OpenSceneGraph  3.4.0
Classes | Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes
osgVolume::MultipassTechnique Class Reference
Inheritance diagram for osgVolume::MultipassTechnique:
Inheritance graph
[legend]

List of all members.

Classes

struct  MultipassTileData
 Container for render to texture objects used when doing multi-pass volume rendering techniques. More...

Public Types

enum  RenderingMode { CUBE, HULL, CUBE_AND_HULL }

Public Member Functions

 MultipassTechnique ()
 MultipassTechnique (const MultipassTechnique &, const osg::CopyOp &copyop=osg::CopyOp::SHALLOW_COPY)
 META_Object (osgVolume, MultipassTechnique)
virtual void init ()
virtual void update (osgUtil::UpdateVisitor *nv)
virtual void backfaceSubgraphCullTraversal (osgUtil::CullVisitor *cv)
virtual void cull (osgUtil::CullVisitor *cv)
virtual void cleanSceneGraph ()
 Clean scene graph from any terrain technique specific nodes.
virtual void traverse (osg::NodeVisitor &nv)
 Traverse the terrain subgraph.
RenderingMode computeRenderingMode ()
virtual TileDatacreateTileData (osgUtil::CullVisitor *cv)
 Called from VolumeScene to create the TileData container when a multi-pass technique is being used.

Protected Types

enum  ShaderMask {
  CUBE_SHADERS = 1, HULL_SHADERS = 2, CUBE_AND_HULL_SHADERS = 4, STANDARD_SHADERS = 8,
  LIT_SHADERS = 16, ISO_SHADERS = 32, MIP_SHADERS = 64, TF_SHADERS = 128
}
typedef std::map
< osgUtil::CullVisitor::Identifier
*, osg::Matrix
ModelViewMatrixMap
typedef std::map< int,
osg::ref_ptr< osg::StateSet > > 
StateSetMap

Protected Member Functions

virtual ~MultipassTechnique ()
osg::StateSetcreateStateSet (osg::StateSet *statesetPrototype, osg::Program *programPrototype, osg::Shader *shaderToAdd1=0, osg::Shader *shaderToAdd2=0)

Protected Attributes

osg::ref_ptr
< osg::MatrixTransform
_transform
OpenThreads::Mutex _mutex
ModelViewMatrixMap _modelViewMatrixMap
osg::ref_ptr< osg::StateSet_whenMovingStateSet
osg::ref_ptr< osg::StateSet_volumeRenderStateSet
StateSetMap _stateSetMap
osg::ref_ptr< osg::StateSet_frontFaceStateSet

Member Typedef Documentation

Reimplemented from osgVolume::VolumeTechnique.


Member Enumeration Documentation

Enumerator:
CUBE 
HULL 
CUBE_AND_HULL 
Enumerator:
CUBE_SHADERS 
HULL_SHADERS 
CUBE_AND_HULL_SHADERS 
STANDARD_SHADERS 
LIT_SHADERS 
ISO_SHADERS 
MIP_SHADERS 
TF_SHADERS 

Constructor & Destructor Documentation

virtual osgVolume::MultipassTechnique::~MultipassTechnique ( ) [protected, virtual]

Member Function Documentation

Clean scene graph from any terrain technique specific nodes.

Reimplemented from osgVolume::VolumeTechnique.

osg::StateSet* osgVolume::MultipassTechnique::createStateSet ( osg::StateSet statesetPrototype,
osg::Program programPrototype,
osg::Shader shaderToAdd1 = 0,
osg::Shader shaderToAdd2 = 0 
) [protected]

Called from VolumeScene to create the TileData container when a multi-pass technique is being used.

The TileData container caches any render to texture objects that are required.

Reimplemented from osgVolume::VolumeTechnique.

Reimplemented from osgVolume::VolumeTechnique.

virtual void osgVolume::MultipassTechnique::init ( ) [virtual]

Reimplemented from osgVolume::VolumeTechnique.

Traverse the terrain subgraph.

Reimplemented from osgVolume::VolumeTechnique.

Reimplemented from osgVolume::VolumeTechnique.


Member Data Documentation

Reimplemented from osgVolume::VolumeTechnique.

OpenThreads::Mutex osgVolume::MultipassTechnique::_mutex [protected]

Reimplemented from osgVolume::VolumeTechnique.


The documentation for this class was generated from the following file:

osg logo
Generated at Tue Dec 8 2015 00:16:52 for the OpenSceneGraph by doxygen 1.7.6.1.