OpenSceneGraph 2.8.4
|
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 ©op=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::Vec2f & | getPolygonOffset () |
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 |
typedef std::map<unsigned int,PSSMShadowSplitTexture> osgShadow::ParallelSplitShadowMap::PSSMShadowSplitTextureMap [protected] |
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] |
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.
![]() | Generated at Sun Jan 8 2012 13:16:50 for the OpenSceneGraph by doxygen 1.7.4. |