#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 |
1.3.5