OpenSceneGraph 2.8.4
Classes | Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes
osgShadow::ParallelSplitShadowMap Class Reference
Inheritance diagram for osgShadow::ParallelSplitShadowMap:
Inheritance graph
[legend]

List of all members.

Classes

class  FragmentShaderGenerator
 you can overwrite the fragment shader if you like to modify it yourself, own fragment shader can be used More...
struct  PSSMShadowSplitTexture

Public Types

enum  SplitCalcMode { SPLIT_LINEAR, SPLIT_EXP }

Public Member Functions

 ParallelSplitShadowMap (osg::Geode **debugGroup=NULL, int icountplanes=3)
 ParallelSplitShadowMap (const ParallelSplitShadowMap &es, const osg::CopyOp &copyop=osg::CopyOp::SHALLOW_COPY)
 META_Object (osgShadow, ParallelSplitShadowMap)
virtual void init ()
 Initialize the ShadowedScene and local cached data structures.
virtual void update (osg::NodeVisitor &nv)
 Run the update traversal of the ShadowedScene and update any loca chached data structures.
virtual void cull (osgUtil::CullVisitor &cv)
 Run the cull traversal of the ShadowedScene and set up the rendering for this ShadowTechnique.
virtual void cleanSceneGraph ()
 Clean scene graph from any shadow technique specific nodes, state and drawables.
void setDebugColorOn ()
 Switch on the debug coloring in GLSL (only the first 3 texture/splits showed for visualisation.
void setPolygonOffset (const osg::Vec2f &p)
 Set the polygon offset osg::Vec2f(factor,unit)
const osg::Vec2fgetPolygonOffset ()
 Get the polygon offset osg::Vec2f(factor,unit)
void setTextureResolution (unsigned int resolution)
 Set the texture resolution.
void setMaxFarDistance (double farDist)
 Set the max far distance.
void setMoveVCamBehindRCamFactor (double distFactor)
 Set the factor for moving the virtual camera behind the real camera.
void setMinNearDistanceForSplits (double nd)
 Set min near distance for splits.
void setUserLight (osg::Light *light)
 set a user defined light for shadow simulation (sun light, ...
void setAmbientBias (const osg::Vec2 &ambientBias)
 Set the values for the ambient bias the shader will use.
void setFragmentShaderGenerator (FragmentShaderGenerator *fsw)
 set fragment shader generator
void enableShadowGLSLFiltering (bool filtering=true)
 enable / disable shadow filtering
void setSplitCalculationMode (SplitCalcMode scm=SPLIT_EXP)
 set split calculation mode

Protected Types

typedef std::map< unsigned int,
PSSMShadowSplitTexture
PSSMShadowSplitTextureMap

Protected Member Functions

virtual ~ParallelSplitShadowMap ()

Protected Attributes

PSSMShadowSplitTextureMap _PSSMShadowSplitTextureMap

Member Typedef Documentation


Member Enumeration Documentation

Enumerator:
SPLIT_LINEAR 
SPLIT_EXP 

Constructor & Destructor Documentation

osgShadow::ParallelSplitShadowMap::ParallelSplitShadowMap ( osg::Geode **  debugGroup = NULL,
int  icountplanes = 3 
)
osgShadow::ParallelSplitShadowMap::ParallelSplitShadowMap ( const ParallelSplitShadowMap es,
const osg::CopyOp copyop = osg::CopyOp::SHALLOW_COPY 
)
virtual osgShadow::ParallelSplitShadowMap::~ParallelSplitShadowMap ( ) [inline, protected, virtual]

Member Function Documentation

virtual void osgShadow::ParallelSplitShadowMap::cleanSceneGraph ( ) [virtual]

Clean scene graph from any shadow technique specific nodes, state and drawables.

Reimplemented from osgShadow::ShadowTechnique.

virtual void osgShadow::ParallelSplitShadowMap::cull ( osgUtil::CullVisitor cv) [virtual]

Run the cull traversal of the ShadowedScene and set up the rendering for this ShadowTechnique.

Reimplemented from osgShadow::ShadowTechnique.

void osgShadow::ParallelSplitShadowMap::enableShadowGLSLFiltering ( bool  filtering = true) [inline]

enable / disable shadow filtering

const osg::Vec2f& osgShadow::ParallelSplitShadowMap::getPolygonOffset ( ) [inline]

Get the polygon offset osg::Vec2f(factor,unit)

virtual void osgShadow::ParallelSplitShadowMap::init ( ) [virtual]

Initialize the ShadowedScene and local cached data structures.

Reimplemented from osgShadow::ShadowTechnique.

osgShadow::ParallelSplitShadowMap::META_Object ( osgShadow  ,
ParallelSplitShadowMap   
)
void osgShadow::ParallelSplitShadowMap::setAmbientBias ( const osg::Vec2 ambientBias)

Set the values for the ambient bias the shader will use.

void osgShadow::ParallelSplitShadowMap::setDebugColorOn ( ) [inline]

Switch on the debug coloring in GLSL (only the first 3 texture/splits showed for visualisation.

void osgShadow::ParallelSplitShadowMap::setFragmentShaderGenerator ( FragmentShaderGenerator fsw) [inline]

set fragment shader generator

void osgShadow::ParallelSplitShadowMap::setMaxFarDistance ( double  farDist) [inline]

Set the max far distance.

void osgShadow::ParallelSplitShadowMap::setMinNearDistanceForSplits ( double  nd) [inline]

Set min near distance for splits.

void osgShadow::ParallelSplitShadowMap::setMoveVCamBehindRCamFactor ( double  distFactor) [inline]

Set the factor for moving the virtual camera behind the real camera.

void osgShadow::ParallelSplitShadowMap::setPolygonOffset ( const osg::Vec2f p) [inline]

Set the polygon offset osg::Vec2f(factor,unit)

void osgShadow::ParallelSplitShadowMap::setSplitCalculationMode ( SplitCalcMode  scm = SPLIT_EXP) [inline]

set split calculation mode

void osgShadow::ParallelSplitShadowMap::setTextureResolution ( unsigned int  resolution) [inline]

Set the texture resolution.

void osgShadow::ParallelSplitShadowMap::setUserLight ( osg::Light light) [inline]

set a user defined light for shadow simulation (sun light, ...

) when this light get passed to pssm, the scene's light are no longer collected and simulated. just this user passed light, it needs to be a directional light.

virtual void osgShadow::ParallelSplitShadowMap::update ( osg::NodeVisitor nv) [virtual]

Run the update traversal of the ShadowedScene and update any loca chached data structures.

Reimplemented from osgShadow::ShadowTechnique.


Member Data Documentation


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

osg logo
Generated at Sun Jan 8 2012 13:16:50 for the OpenSceneGraph by doxygen 1.7.4.