SoShadowDirectionalLight - Online Linux Manual PageSection : 3
Updated : Mon Jan 25 2021
Source : Version 4.0.0
Note : Coin

NAMESoShadowDirectionalLight − The SoShadowDirectionalLight class is a node for setting up a directional light which casts shadows​.

SYNOPSIS
#include <Inventor/annex/FXViz/nodes/SoShadowDirectionalLight​.h> Inherits SoDirectionalLight​.

Public Member Functionsvirtual SoType getTypeId (void) const
Returns the type identification of an object derived from a class inheriting SoBase​. This is used for run-time type checking and 'downward' casting​.
SoShadowDirectionalLight (void)
virtual void GLRender (SoGLRenderAction *action)

Static Public Member Functionsstatic SoType getClassTypeId (void)
static void initClass (void)

Public AttributesSoSFNode shadowMapScene
SoSFFloat maxShadowDistance
SoSFVec3f bboxCenter
SoSFVec3f bboxSize

Protected Member Functionsvirtual const SoFieldData * getFieldData (void) const
virtual ~SoShadowDirectionalLight ()

Static Protected Member Functionsstatic const SoFieldData ** getFieldDataPtr (void)

Additional Inherited Members

Detailed DescriptionThe SoShadowDirectionalLight class is a node for setting up a directional light which casts shadows​. Directional lights usually affect everything, but since it's not always feasible to use one shadow map for the entire scene graph​. This node has some extra features to work around this​. It calculates the intersection between the current view volume and either the scene bounding box, or the bounding box provided in this node​. The shadows are only calculated for this volume​. This means that you'll get more detailed shadows as you zoom in on items in the scene graph​. In addition, you can set the maximum distance from the camera which will be shaded with shadows​. Think of this a new far plane for the camera which only affects shadows​. As with SoShadowSpotLight, it's possible to optimize further by setting your own shadow caster scene graph in the shadowMapScene field​. The example scene graph below demonstrates how you can use this node to create shadows on a large number of objects, and still get decent precision when zooming in​. To further reduce the volume covered by the shadowmap, you can set maxShadowDistance to some number > 0​. This is the distance from the camera where shadows will be visible​. DirectionalLight { direction 0 0 -1 intensity 0​.2 } ShadowGroup { quality 1 # to get per pixel lighting precision 1 ShadowDirectionalLight { direction 1 1 -1 intensity 0​.8 # enable this to reduce the shadow view distance # maxShadowDistance 200 } # 900 cubes spaced out over a fairly large area Array { origin CENTER numElements1 30 numElements2 30 numElements3 1 separation1 20 0 0 separation2 0 20 0 separation3 0 0 0 Material { diffuseColor 1 0 0 specularColor 1 1 1 } Cube { width 4 height 4 depth 4 } } # a chess board Coordinate3 { point [ -400 -400 -3, 400 -400 -3, 400 400 -3, -400 400 -3 ] } Material { specularColor 1 1 1 shininess 0​.9 } Complexity { textureQuality 0​.1 } Texture2 { image 2 2 3 0xffffff 0x225588 0x225588 0xffffff } Texture2Transform { scaleFactor 20 20 } FaceSet { numVertices 4 } }Since Coin 3​.0

Constructor & Destructor Documentation

SoShadowDirectionalLight::SoShadowDirectionalLight (void)Constructor​.

SoShadowDirectionalLight::~SoShadowDirectionalLight () [protected], [virtual]Destructor​.

Member Function Documentation

SoType SoShadowDirectionalLight::getTypeId (void) const [virtual]Returns the type identification of an object derived from a class inheriting SoBase​. This is used for run-time type checking and 'downward' casting​. Usage example: void foo(SoNode * node) { if (node->getTypeId() == SoFile::getClassTypeId()) { SoFile * filenode = (SoFile *)node; // safe downward cast, knows the type } }For application programmers wanting to extend the library with new nodes, engines, nodekits, draggers or others: this method needs to be overridden in all subclasses​. This is typically done as part of setting up the full type system for extension classes, which is usually accomplished by using the pre-defined macros available through for instance Inventor/nodes/SoSubNode​.h (SO_NODE_INIT_CLASS and SO_NODE_CONSTRUCTOR for node classes), Inventor/engines/SoSubEngine​.h (for engine classes) and so on​. For more information on writing Coin extensions, see the class documentation of the toplevel superclasses for the various class groups​. Reimplemented from SoDirectionalLight​.

const SoFieldData * SoShadowDirectionalLight::getFieldData (void) const [protected], [virtual]Returns a pointer to the class-wide field data storage object for this instance​. If no fields are present, returns NULL​. Reimplemented from SoDirectionalLight​.

void SoShadowDirectionalLight::GLRender (SoGLRenderAction * action) [virtual]Action method for the SoGLRenderAction​. This is called during rendering traversals​. Nodes influencing the rendering state in any way or who wants to throw geometry primitives at OpenGL overrides this method​. Reimplemented from SoDirectionalLight​.

Member Data Documentation

SoSFNode SoShadowDirectionalLight::shadowMapSceneThe shadow map scene graph​. If this is NULL (the default), the node will behave as a normal SoDirectionalLight node​.

SoSFFloat SoShadowDirectionalLight::maxShadowDistanceThe maximum distance (from the camera) that we'll see shadows from this light source​.

SoSFVec3f SoShadowDirectionalLight::bboxCenterCan be used to specify the volume that should be used for calculating the resulting shadow volume​.

SoSFVec3f SoShadowDirectionalLight::bboxSizeCan be used to specify the volume that should be used for calculating the resulting shadow volume​.

AuthorGenerated automatically by Doxygen for Coin from the source code​.
0
Johanes Gumabo
Data Size   :   23,422 byte
man-SoShadowDirectionalLight.3coin4Build   :   2024-12-05, 20:55   :  
Visitor Screen   :   x
Visitor Counter ( page / site )   :   3 / 181,409
Visitor ID   :     :  
Visitor IP   :   18.191.171.121   :  
Visitor Provider   :   AMAZON-02   :  
Provider Position ( lat x lon )   :   39.962500 x -83.006100   :   x
Provider Accuracy Radius ( km )   :   1000   :  
Provider City   :   Columbus   :  
Provider Province   :   Ohio ,   :   ,
Provider Country   :   United States   :  
Provider Continent   :   North America   :  
Visitor Recorder   :   Version   :  
Visitor Recorder   :   Library   :  
Online Linux Manual Page   :   Version   :   Online Linux Manual Page - Fedora.40 - march=x86-64 - mtune=generic - 24.12.05
Online Linux Manual Page   :   Library   :   lib_c - 24.10.03 - march=x86-64 - mtune=generic - Fedora.40
Online Linux Manual Page   :   Library   :   lib_m - 24.10.03 - march=x86-64 - mtune=generic - Fedora.40
Data Base   :   Version   :   Online Linux Manual Page Database - 24.04.13 - march=x86-64 - mtune=generic - fedora-38
Data Base   :   Library   :   lib_c - 23.02.07 - march=x86-64 - mtune=generic - fedora.36

Very long time ago, I have the best tutor, Wenzel Svojanovsky . If someone knows the email address of Wenzel Svojanovsky , please send an email to johanes_gumabo@yahoo.co.id .
If error, please print screen and send to johanes_gumabo@yahoo.co.id
Under development. Support me via PayPal.