This "shadow volume" consists of a number of shadow volumes created for every shadow casting triangle.
Definition at line 76 of file SoShadowVolume.h.
Public Member Functions | |
SoShadowVolume (SoShadowLight *l, int cn) | |
Constructor. | |
~SoShadowVolume () | |
Destructor. | |
void | create () |
Creates object's shadow volume for one light. | |
int | getCasterName () |
Return the asociated caster name index. | |
void | writeShadowVolume (const char *filename) |
Writes generated shadow node scene graph into a file. | |
Static Public Member Functions | |
static SbVec3f | faceNormal (const SbVec3f p1, const SbVec3f p2, const SbVec3f p3) |
Computes the triangle normal vector from its verteces. | |
static SbVec3f | farPointNew (SbVec3f lightVec, SbVec3f point, float farDepth) |
Computes shadow volume far plane point (far cap) - a new version. | |
Public Attributes | |
int32_t | nScTr |
Number of shadow casting triangles of the object. | |
int32_t | nSVTr |
Number of triangles of the shadow volume. | |
Private Member Functions | |
void | init () |
Initializator. | |
Private Attributes | |
SoShadowLight * | shadowlight |
Pointer to shadow light. | |
SoLight * | aLight |
Which light creates this shadow volume. | |
SoShadowCaster * | caster |
Object model. | |
CObjectModel * | objectModel |
Object model. | |
SbMatrix * | trMatrix |
Transformation matrix of the object. | |
SoCoordinate3 * | coordNode |
SV coordinates. | |
SbColor | svColor |
Volume color. | |
SoTransform * | transform |
Transform node. | |
int | casterName |
index name of caster that casts this volume. | |
SoGroup * | initNode |
Node of shadow volumes material and translation settings. | |
SoGroup * | volumeNode |
Node of shadow volumes of light-facing triangles. |
|
Constructor.
Definition at line 44 of file SoShadowVolume.cpp. References aLight, caster, casterName, SoShadowCaster::getCasterName(), SoShadowLight::getLight(), init(), initNode, nScTr, nSVTr, objectModel, ONDEBUG, shadowlight, transform, trMatrix, and volumeNode. |
|
Destructor.
Definition at line 80 of file SoShadowVolume.cpp. |
|
Initializator.
Definition at line 89 of file SoShadowVolume.cpp. References initNode, svColor, transform, and volumeNode. Referenced by SoShadowVolume(). |
|
Creates object's shadow volume for one light.
Definition at line 139 of file SoShadowVolume.cpp. References aLight, caster, casterName, SoShadowCaster::getMatrix(), SoShadowCaster::getObjectModel(), SoShadowCaster::moved(), objectModel, ONDEBUG, SoShadowCaster::setMoved(), SoShadowCaster::trMatrix, trMatrix, and SoShadowCaster::trMatrixOld. Referenced by CShadowManager::createCasterVolumes(). |
|
Return the asociated caster name index.
Definition at line 130 of file SoShadowVolume.cpp. References casterName. Referenced by CShadowManager::createCasterVolumes(). |
|
Writes generated shadow node scene graph into a file.
Definition at line 475 of file SoShadowVolume.cpp. References ONDEBUG. |
|
Computes the triangle normal vector from its verteces. Counterclockwise orientation.
Definition at line 547 of file SoShadowVolume.cpp. References ONDEBUG. |
|
Computes shadow volume far plane point (far cap) - a new version. Melo by se dodelat tak, ze bude az na zadni orez. rovine.
Definition at line 526 of file SoShadowVolume.cpp. |
|
Pointer to shadow light.
Definition at line 80 of file SoShadowVolume.h. Referenced by SoShadowVolume(). |
|
Which light creates this shadow volume.
Definition at line 82 of file SoShadowVolume.h. Referenced by create(), and SoShadowVolume(). |
|
Object model.
Definition at line 84 of file SoShadowVolume.h. Referenced by create(), and SoShadowVolume(). |
|
Object model.
Definition at line 86 of file SoShadowVolume.h. Referenced by create(), and SoShadowVolume(). |
|
Transformation matrix of the object.
Definition at line 88 of file SoShadowVolume.h. Referenced by create(), and SoShadowVolume(). |
|
SV coordinates.
Definition at line 90 of file SoShadowVolume.h. |
|
Volume color.
Definition at line 92 of file SoShadowVolume.h. Referenced by init(). |
|
Transform node.
Definition at line 94 of file SoShadowVolume.h. Referenced by init(), and SoShadowVolume(). |
|
index name of caster that casts this volume.
Definition at line 96 of file SoShadowVolume.h. Referenced by create(), getCasterName(), and SoShadowVolume(). |
|
Node of shadow volumes material and translation settings.
Definition at line 98 of file SoShadowVolume.h. Referenced by init(), and SoShadowVolume(). |
|
Node of shadow volumes of light-facing triangles.
Definition at line 100 of file SoShadowVolume.h. Referenced by init(), and SoShadowVolume(). |
|
Number of shadow casting triangles of the object.
Definition at line 106 of file SoShadowVolume.h. Referenced by SoShadowVolume(). |
|
Number of triangles of the shadow volume.
Definition at line 108 of file SoShadowVolume.h. Referenced by SoShadowVolume(). |