openscenegraph
|
Classes | |
class | FragmentShaderGenerator |
struct | PSSMShadowSplitTexture |
Public Types | |
enum | SplitCalcMode { SPLIT_LINEAR, SPLIT_EXP } |
Protected Types | |
typedef std::map< unsigned int, PSSMShadowSplitTexture > | PSSMShadowSplitTextureMap |
Protected Member Functions | |
virtual | ~ParallelSplitShadowMap () |
![]() | |
osg::Vec3 | computeOrthogonalVector (const osg::Vec3 &direction) const |
virtual | ~ShadowTechnique () |
![]() | |
virtual | ~Object () |
![]() | |
virtual | ~Referenced () |
void | signalObserversAndDelete (bool signalDelete, bool doDelete) const |
void | deleteUsingDeleteHandler () const |
Protected Attributes | |
PSSMShadowSplitTextureMap | _PSSMShadowSplitTextureMap |
![]() | |
ShadowedScene * | _shadowedScene |
bool | _dirty |
![]() | |
std::string | _name |
DataVariance | _dataVariance |
osg::UserDataContainer * | _userDataContainer |
![]() | |
OpenThreads::AtomicPtr | _observerSet |
OpenThreads::Atomic | _refCount |
Additional Inherited Members | |
![]() | |
static OpenThreads::Mutex * | getGlobalReferencedMutex () |
static void | setThreadSafeReferenceCounting (bool enableThreadSafeReferenceCounting) |
static bool | getThreadSafeReferenceCounting () |
static void | setDeleteHandler (DeleteHandler *handler) |
static DeleteHandler * | getDeleteHandler () |
|
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 |
||
) |
|
inlineprotectedvirtual |
|
virtual |
Clean scene graph from any shadow technique specific nodes, state and drawables.
Reimplemented from osgShadow::ShadowTechnique.
|
virtual |
Run the cull traversal of the ShadowedScene and set up the rendering for this ShadowTechnique.
Reimplemented from osgShadow::ShadowTechnique.
|
inline |
enable / disable shadow filtering
|
inline |
Get the values for the ambient bias the shader will use.
|
inline |
Get the max far distance
|
inline |
Get min near distance for splits
|
inline |
Get the factor for moving the virtual camera behind the real camera
|
inline |
Get the polygon offset osg::Vec2f(factor,unit)
|
inline |
get split calculation mode
|
inline |
Get the texture resolution
|
inline |
get the user defined light for shadow simulation
|
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.
|
inline |
Switch on the debug coloring in GLSL (only the first 3 texture/splits showed for visualisation
|
inline |
set fragment shader generator
|
inline |
Set the max far distance
|
inline |
Set min near distance for splits
|
inline |
Set the factor for moving the virtual camera behind the real camera
|
inline |
Set the polygon offset osg::Vec2f(factor,unit)
|
inline |
set split calculation mode
|
inline |
Set the texture resolution
|
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 |
Run the update traversal of the ShadowedScene and update any loca chached data structures.
Reimplemented from osgShadow::ShadowTechnique.
|
protected |