openscenegraph
Classes | Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes
osgShadow::ParallelSplitShadowMap Class Reference
Inheritance diagram for osgShadow::ParallelSplitShadowMap:
osgShadow::ShadowTechnique osg::Object osg::Referenced

List of all members.

Classes

class  FragmentShaderGenerator
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 ()
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 () const
void setTextureResolution (unsigned int resolution)
unsigned int getTextureResolution () const
void setMaxFarDistance (double farDist)
double getMaxFarDistance () const
void setMoveVCamBehindRCamFactor (double distFactor)
double getMoveVCamBehindRCamFactor () const
void setMinNearDistanceForSplits (double nd)
double getMinNearDistanceForSplits () const
void setUserLight (osg::Light *light)
const osg::LightgetUserLight () const
void setAmbientBias (const osg::Vec2 &ambientBias)
const osg::Vec2getAmbientBias () const
void setFragmentShaderGenerator (FragmentShaderGenerator *fsw)
void enableShadowGLSLFiltering (bool filtering=true)
void setSplitCalculationMode (SplitCalcMode scm=SPLIT_EXP)
SplitCalcMode getSplitCalculationMode () const

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 
)
virtual osgShadow::ParallelSplitShadowMap::~ParallelSplitShadowMap ( ) [inline, protected, virtual]

Member Function Documentation

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

Reimplemented from osgShadow::ShadowTechnique.

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

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

Get the max far distance

Get min near distance for splits

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

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

get split calculation mode

Get the texture resolution

get the user defined light for shadow simulation

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

Initialize the ShadowedScene and local cached data structures.

Reimplemented from osgShadow::ShadowTechnique.

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

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

set fragment shader generator

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

Set the max far distance

Set min near distance for splits

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

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

set split calculation mode

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

Set the texture resolution

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.

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: