#include <shadow.h>
Inheritance diagram for StencilShadowGenerator:
Public Types | |
enum | FRAMECALLBACKTYPE { PERLIGHT = 0, FRAMEEND = 1, NUMCALLBACKS = 2 } |
Callback type identifiers. More... | |
Public Member Functions | |
StencilShadowGenerator (float fShadowLength=100.0f) | |
virtual | ~StencilShadowGenerator () |
virtual void | GenerateShadow (VertexBufferPtr &pkVertexBuffer, PolygonBufferPtr &pkPolygonBuffer, BoundingVolume *pkBoundingVolume, const Matrix &rkTransform, const Matrix &rkInvTransform) |
virtual void | FrameEvent (FrameCallback::FRAMECALLBACKTYPE eType, void *pData) |
bool | IsActive () const |
virtual void | Activate () |
virtual void | Deactivate () |
bool | Toggle () |
virtual void | FrameEvent (FRAMECALLBACKTYPE eType, void *pData)=0 |
Protected Attributes | |
std::vector< ShadowOp * > | m_vpkOps |
unsigned int | m_uiNumUsedOps |
float | m_fShadowLength |
Vertex * | m_pkVertices |
Polygon * | m_pkPolygons |
unsigned int | m_uiMaxVertices |
unsigned int | m_uiMaxPolygons |
MaterialPtr | m_pkStencilMat |
MaterialPtr | m_pkFrameBufferMat |
bool | m_bActive |
|
Callback type identifiers.
|
|
Check that device supports stencil shadows, if so register as frame listener
|
|
Deregister as frame listener |
|
Generate shadow
Implements ShadowGenerator. |
|
Frame callback, render shadow volume
|
|
Query state of object
|
|
Activate object |
|
Deactivate object |
|
Toggle active state. This method does not need to be overloaded, it is only a wrapper to Activate and Deactivate
|
|
Frame callback method
|
|
Shadow primitive ops |
|
Number of used ops |
|
Shadow length |
|
Temporary buffer for vertices |
|
Temporary buffer for polygons |
|
Number of maximum vertices in temporary buffer |
|
Number of maximum polygons in temporary buffer |
|
Material during stencil buffer rendering |
|
Material during frame buffer rendering |
|
Active flag |