openscenegraph
|
#include <ShadowSettings>
Public Types | |
enum | ShadowMapProjectionHint { ORTHOGRAPHIC_SHADOW_MAP , PERSPECTIVE_SHADOW_MAP } |
enum | MultipleShadowMapHint { PARALLEL_SPLIT , CASCADED } |
enum | ShaderHint { NO_SHADERS , PROVIDE_FRAGMENT_SHADER , PROVIDE_VERTEX_AND_FRAGMENT_SHADER } |
![]() | |
enum | DataVariance { DYNAMIC , STATIC , UNSPECIFIED } |
Public Member Functions | |
ShadowSettings () | |
ShadowSettings (const ShadowSettings &ss, const osg::CopyOp ©op=osg::CopyOp::SHALLOW_COPY) | |
META_Object (osgShadow, ShadowSettings) | |
void | setReceivesShadowTraversalMask (unsigned int mask) |
unsigned int | getReceivesShadowTraversalMask () const |
void | setCastsShadowTraversalMask (unsigned int mask) |
unsigned int | getCastsShadowTraversalMask () const |
void | setComputeNearFarModeOverride (osg::CullSettings::ComputeNearFarMode cnfn) |
osg::CullSettings::ComputeNearFarMode | getComputeNearFarModeOverride () const |
void | setLightNum (int lightNum) |
int | getLightNum () const |
void | setBaseShadowTextureUnit (unsigned int unit) |
unsigned int | getBaseShadowTextureUnit () const |
void | setUseOverrideForShadowMapTexture (bool useOverride) |
bool | getUseOverrideForShadowMapTexture () const |
void | setTextureSize (const osg::Vec2s &textureSize) |
const osg::Vec2s & | getTextureSize () const |
void | setMinimumShadowMapNearFarRatio (double ratio) |
double | getMinimumShadowMapNearFarRatio () const |
void | setMaximumShadowMapDistance (double distance) |
double | getMaximumShadowMapDistance () const |
void | setShadowMapProjectionHint (ShadowMapProjectionHint hint) |
ShadowMapProjectionHint | getShadowMapProjectionHint () const |
void | setPerspectiveShadowMapCutOffAngle (double angle) |
double | getPerspectiveShadowMapCutOffAngle () const |
void | setNumShadowMapsPerLight (unsigned int numShadowMaps) |
unsigned int | getNumShadowMapsPerLight () const |
void | setMultipleShadowMapHint (MultipleShadowMapHint hint) |
MultipleShadowMapHint | getMultipleShadowMapHint () const |
void | setShaderHint (ShaderHint shaderHint) |
ShaderHint | getShaderHint () const |
void | setDebugDraw (bool debugDraw) |
bool | getDebugDraw () const |
![]() | |
Object () | |
Object (bool threadSafeRefUnref) | |
Object (const Object &, const CopyOp ©op=CopyOp::SHALLOW_COPY) | |
virtual Object * | cloneType () const =0 |
virtual Object * | clone (const CopyOp &) const =0 |
virtual bool | isSameKindAs (const Object *) const |
virtual const char * | libraryName () const =0 |
virtual const char * | className () const =0 |
std::string | getCompoundClassName () const |
virtual Node * | asNode () |
virtual const Node * | asNode () const |
virtual NodeVisitor * | asNodeVisitor () |
virtual const NodeVisitor * | asNodeVisitor () const |
virtual StateSet * | asStateSet () |
virtual const StateSet * | asStateSet () const |
virtual StateAttribute * | asStateAttribute () |
virtual const StateAttribute * | asStateAttribute () const |
virtual Uniform * | asUniform () |
virtual const Uniform * | asUniform () const |
virtual Camera * | asCamera () |
virtual const Camera * | asCamera () const |
virtual Drawable * | asDrawable () |
virtual const Drawable * | asDrawable () const |
virtual Callback * | asCallback () |
virtual const Callback * | asCallback () const |
virtual CallbackObject * | asCallbackObject () |
virtual const CallbackObject * | asCallbackObject () const |
virtual UserDataContainer * | asUserDataContainer () |
virtual const UserDataContainer * | asUserDataContainer () const |
virtual ValueObject * | asValueObject () |
virtual const ValueObject * | asValueObject () const |
virtual Image * | asImage () |
virtual const Image * | asImage () const |
virtual void | setThreadSafeRefUnref (bool threadSafe) |
virtual void | setName (const std::string &name) |
void | setName (const char *name) |
const std::string & | getName () const |
void | setDataVariance (DataVariance dv) |
DataVariance | getDataVariance () const |
virtual void | computeDataVariance () |
void | setUserDataContainer (osg::UserDataContainer *udc) |
template<class T > | |
void | setUserDataContainer (const ref_ptr< T > &udc) |
osg::UserDataContainer * | getUserDataContainer () |
const osg::UserDataContainer * | getUserDataContainer () const |
osg::UserDataContainer * | getOrCreateUserDataContainer () |
virtual void | setUserData (Referenced *obj) |
template<class T > | |
void | setUserData (const ref_ptr< T > &ud) |
virtual Referenced * | getUserData () |
virtual const Referenced * | getUserData () const |
template<typename T > | |
bool | getUserValue (const std::string &name, T &value) const |
template<typename T > | |
void | setUserValue (const std::string &name, const T &value) |
virtual void | resizeGLObjectBuffers (unsigned int) |
virtual void | releaseGLObjects (osg::State *=0) const |
template<typename T > | |
BoolValueObject UCharValueObject UShortValueObject UIntValueObject DoubleValueObject Vec3fValueObject Vec2dValueObject Vec4dValueObject PlaneValueObject MatrixdValueObject BoundingBoxdValueObject BoundingSpheredValueObject bool | getUserValue (const std::string &name, T &value) const |
![]() | |
Referenced () | |
Referenced (bool threadSafeRefUnref) | |
Referenced (const Referenced &) | |
Referenced & | operator= (const Referenced &) |
bool | getThreadSafeRefUnref () const |
OpenThreads::Mutex * | getRefMutex () const |
int | ref () const |
int | unref () const |
int | unref_nodelete () const |
int | referenceCount () const |
ObserverSet * | getObserverSet () const |
ObserverSet * | getOrCreateObserverSet () const |
void | addObserver (Observer *observer) const |
void | removeObserver (Observer *observer) const |
Protected Member Functions | |
virtual | ~ShadowSettings () |
![]() | |
virtual | ~Object () |
![]() | |
virtual | ~Referenced () |
void | signalObserversAndDelete (bool signalDelete, bool doDelete) const |
void | deleteUsingDeleteHandler () const |
Protected Attributes | |
unsigned int | _receivesShadowTraversalMask |
unsigned int | _castsShadowTraversalMask |
osg::CullSettings::ComputeNearFarMode | _computeNearFearModeOverride |
int | _lightNum |
unsigned int | _baseShadowTextureUnit |
bool | _useShadowMapTextureOverride |
osg::Vec2s | _textureSize |
double | _minimumShadowMapNearFarRatio |
double | _maximumShadowMapDistance |
ShadowMapProjectionHint | _shadowMapProjectionHint |
double | _perspectiveShadowMapCutOffAngle |
unsigned int | _numShadowMapsPerLight |
MultipleShadowMapHint | _multipleShadowMapHint |
ShaderHint | _shaderHint |
bool | _debugDraw |
![]() | |
std::string | _name |
DataVariance | _dataVariance |
osg::UserDataContainer * | _userDataContainer |
![]() | |
OpenThreads::AtomicPtr | _observerSet |
OpenThreads::Atomic | _refCount |
Additional Inherited Members | |
![]() | |
static OpenThreads::Mutex * | getGlobalReferencedMutex () |
static void | setDeleteHandler (DeleteHandler *handler) |
static DeleteHandler * | getDeleteHandler () |
ShadowSettings provides the parameters that the ShadowTechnique should use as a guide for setting up shadowing.
osgShadow::ShadowSettings::ShadowSettings | ( | ) |
osgShadow::ShadowSettings::ShadowSettings | ( | const ShadowSettings & | ss, |
const osg::CopyOp & | copyop = osg::CopyOp::SHALLOW_COPY |
||
) |
|
protectedvirtual |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Get the size of the shadow map textures.
|
inline |
Get whether to use osg::StateAttribute::OVERRIDE for the shadow map texture.
osgShadow::ShadowSettings::META_Object | ( | osgShadow | , |
ShadowSettings | |||
) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Set the LightNum of the light in the scene to assign a shadow for. Default value is -1, which signifies that shadow technique should automatically select an active light to assign a shadow, typically this will be the first active light found.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Set the cut off angle, in degrees, between the light direction and the view direction that determines whether perspective shadow mapping is appropriate, or thar orthographic shadow map should be used instead. Default is 2 degrees so that for any angle greater than 2 degrees perspective shadow map will be used, and any angle less than 2 degrees orthographic shadow map will be used. Note, if ShadowMapProjectionHint is set to ORTHOGRAPHIC_SHADOW_MAP then an orthographic shadow map will always be used.
|
inline |
|
inline |
|
inline |
|
inline |
Set the size of the shadow map textures.
|
inline |
Set whether to use osg::StateAttribute::OVERRIDE for the shadow map texture. Enabling override will force the shadow map texture to override any texture set on the shadow maps texture unit.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |