BlobShadow Class Reference

#include <blobShadow.h>

Inheritance diagram for BlobShadow:

Inheritance graph
[legend]
List of all members.

Public Member Functions

 BlobShadow (SceneObject *parentobject, LightInfo *light, TSShapeInstance *shapeinstance)
 ~BlobShadow ()
void setRadius (F32 radius)
void setRadius (TSShapeInstance *, const Point3F &scale)
bool prepare (const Point3F &pos, Point3F lightDir, F32 shadowLen)
bool shouldRender (F32 camDist)
void render (F32 camDist)
U32 getLastRenderTime () const

Static Public Member Functions

static void generateGenericShadowBitmap (S32 dim)
static void deleteGenericShadowBitmap ()

Private Member Functions

void setupStateBlocks ()
void setLightMatrices (const Point3F &lightDir, const Point3F &pos)
void buildPartition (const Point3F &p, const Point3F &lightDir, F32 radius, F32 shadowLen)

Static Private Member Functions

static void collisionCallback (SceneObject *, void *)

Private Attributes

F32 mRadius
F32 mInvShadowDistance
MatrixF mLightToWorld
MatrixF mWorldToLight
Vector< DepthSortList::Poly > mPartition
Vector< Point3FmPartitionVerts
GFXVertexBufferHandle< GFXVertexPCT > mShadowBuffer
U32 mLastRenderTime
SceneObjectmParentObject
ShapeBasemShapeBase
LightInfomParentLight
TSShapeInstancemShapeInstance
GFXStateBlockRef mShadowSB
F32 mDepthBias

Static Private Attributes

static U32 smShadowMask
static DepthSortList smDepthSortList
static GFXTexHandle smGenericShadowTexture
static F32 smGenericRadiusSkew
static S32 smGenericShadowDim

Constructor & Destructor Documentation

BlobShadow::BlobShadow ( SceneObject parentobject,
LightInfo light,
TSShapeInstance shapeinstance 
)

BlobShadow::~BlobShadow (  ) 


Member Function Documentation

static void BlobShadow::collisionCallback ( SceneObject ,
void  
) [static, private]

void BlobShadow::setupStateBlocks (  )  [private]

void BlobShadow::setLightMatrices ( const Point3F lightDir,
const Point3F pos 
) [private]

void BlobShadow::buildPartition ( const Point3F p,
const Point3F lightDir,
F32  radius,
F32  shadowLen 
) [private]

void BlobShadow::setRadius ( F32  radius  ) 

void BlobShadow::setRadius ( TSShapeInstance ,
const Point3F scale 
)

bool BlobShadow::prepare ( const Point3F pos,
Point3F  lightDir,
F32  shadowLen 
)

bool BlobShadow::shouldRender ( F32  camDist  )  [virtual]

Implements ShadowBase.

void BlobShadow::render ( F32  camDist  )  [virtual]

Implements ShadowBase.

U32 BlobShadow::getLastRenderTime (  )  const [inline, virtual]

Implements ShadowBase.

static void BlobShadow::generateGenericShadowBitmap ( S32  dim  )  [static]

static void BlobShadow::deleteGenericShadowBitmap (  )  [static]


Member Data Documentation

Vector<DepthSortList::Poly> BlobShadow::mPartition [private]

U32 BlobShadow::smShadowMask [static, private]