osgShadow::ParallelSplitShadowMap Class Reference

Inheritance diagram for osgShadow::ParallelSplitShadowMap:

osgShadow::ShadowTechnique osg::Object osg::Referenced

List of all members.

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 ()
virtual void update (osg::NodeVisitor &nv)
virtual void cull (osgUtil::CullVisitor &cv)
virtual void cleanSceneGraph ()
void setDebugColorOn ()
void setPolygonOffset (const osg::Vec2f &p)
const osg::Vec2fgetPolygonOffset ()
void setTextureResolution (unsigned int resolution)
void setMaxFarDistance (double farDist)
void setMoveVCamBehindRCamFactor (double distFactor)
void setMinNearDistanceForSplits (double nd)
void setUserLight (osg::Light *light)
void setAmbientBias (const osg::Vec2 &ambientBias)
void setFragmentShaderGenerator (FragmentShaderGenerator *fsw)
void enableShadowGLSLFiltering (bool filtering=true)
void setSplitCalculationMode (SplitCalcMode scm=SPLIT_EXP)

Protected Types

typedef std::map< unsigned int,
PSSMShadowSplitTexture
PSSMShadowSplitTextureMap

Protected Member Functions

virtual ~ParallelSplitShadowMap ()

Protected Attributes

PSSMShadowSplitTextureMap _PSSMShadowSplitTextureMap

Classes

class  FragmentShaderGenerator
struct  PSSMShadowSplitTexture


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

osgShadow::ParallelSplitShadowMap::META_Object ( osgShadow  ,
ParallelSplitShadowMap   
)

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

Initialize the ShadowedScene and local cached data structures.

Reimplemented from osgShadow::ShadowTechnique.

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.

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.

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

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

Reimplemented from osgShadow::ShadowTechnique.

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

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

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

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

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

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

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

Set the texture resolution

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

Set the max far distance

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

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

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

Set min near distance for splits

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.

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

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

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

set fragment shader generator

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

enable / disable shadow filtering

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

set split calculation mode


Member Data Documentation


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

Generated on Fri Mar 19 19:52:58 2010 for openscenegraph by  doxygen 1.5.6