torque Torque Game Engine Documentation
TGE Version 1.5.2

Shadow Class Reference

#include <shadow.h>


Public Member Functions

void setDetailTables (const DistanceDetail *, S32 ddCount, const PixelSizeDetail *, S32 psdCount)
void setDefaultDetailTables ()
void setGeneric (bool b)
void setAnimating (bool b)
void setMoving (bool b)
 Shadow ()
 ~Shadow ()
void beginRenderToBitmap ()
void endRenderToBitmap ()
void renderToBitmap (TSShapeInstance *, const MatrixF &, const Point3F &center, Point3F scale)
GBitmapgetBitmap ()
void setRadius (F32 radius)
void setRadius (TSShapeInstance *, const Point3F &scale)
bool prepare (const Point3F &pos, Point3F lightDir, F32 shadowLen, const Point3F &scale, F32 dist, F32 fogAmount, TSShapeInstance *)
bool needBitmap ()
S32 selectShapeDetail (TSShapeInstance *, F32 dist, F32 scale, S32 detailMin=-1)
void render ()
void dumpSort ()

Static Public Member Functions

static void setGlobalShadowDetailLevel (F32 d)
static F32 getGlobalShadowDetailLevel ()
static GBitmapgenerateGenericShadowBitmap (S32 dim)

Data Fields

U32 sgLastRenderTime
U32 sgPreviousShadowTime
VectorF sgPreviousShadowLightingVector

Static Public Attributes

static DistanceDetail smDefaultDistanceDetails []

Private Member Functions

void detectShadowDetailSizeChange ()
void findDistanceDetail (F32 dist, DistanceDetail *)
void findPixelSizeDetail (F32 pixelSize, const PixelSizeDetail **)
void setLightMatrices (const Point3F &lightDir, const Point3F &pos)
void buildPartition (const Point3F &p, const Point3F &lightDir, F32 radius, F32 shadowLen)
void updatePartition (F32 fogAmount)

Static Private Member Functions

static void collisionCallback (SceneObject *, void *)

Private Attributes

GBitmapmBitmap
TextureHandle mShadowTexture
F32 mRadius
F32 mInvShadowDistance
MatrixF mLightToWorld
MatrixF mWorldToLight
Vector< DepthSortList::Poly > mPartition
Vector< Point3FmPartitionVerts
Vector< Point2FmPartitionTVerts
Vector< Point4FmPartitionColors
Shadow::ShadowSettings mSettings
S32 sgLastShadowDetailSize
const DistanceDetailmDistanceDetails
const PixelSizeDetailmPixelSizeDetails
S32 mNumDistanceDetails
S32 mNumPixelSizeDetails

Static Private Attributes

static U32 smShadowMask
static DepthSortList smDepthSortList
static TextureHandle * smGenericShadowTexture
static S32 smGenericShadowDim
static S32 smInstanceCount
static F32 smShapeDetailScale
static S32 smShapeDetailMin
static F32 smSmallestVisibleSize
static F32 smGenericRadiusSkew
static bool smAlwaysUseGenericBmp
static F32 smLightDirSkew
static F32 smLightLenSkew
static F32 smGlobalShadowDetail

Data Structures

struct  DistanceDetail
struct  PixelSizeDetail
struct  ShadowSettings


Constructor & Destructor Documentation

Shadow::Shadow (  ) 

Shadow::~Shadow (  ) 


Member Function Documentation

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

void Shadow::detectShadowDetailSizeChange (  )  [private]

void Shadow::setDetailTables ( const DistanceDetail ,
S32  ddCount,
const PixelSizeDetail ,
S32  psdCount 
)

void Shadow::setDefaultDetailTables (  ) 

static void Shadow::setGlobalShadowDetailLevel ( F32  d  )  [static]

static F32 Shadow::getGlobalShadowDetailLevel (  )  [inline, static]

void Shadow::setGeneric ( bool  b  )  [inline]

void Shadow::setAnimating ( bool  b  )  [inline]

void Shadow::setMoving ( bool  b  )  [inline]

void Shadow::findDistanceDetail ( F32  dist,
DistanceDetail  
) [private]

void Shadow::findPixelSizeDetail ( F32  pixelSize,
const PixelSizeDetail **   
) [private]

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

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

void Shadow::updatePartition ( F32  fogAmount  )  [private]

void Shadow::beginRenderToBitmap (  ) 

void Shadow::endRenderToBitmap (  ) 

void Shadow::renderToBitmap ( TSShapeInstance ,
const MatrixF ,
const Point3F center,
Point3F  scale 
)

GBitmap* Shadow::getBitmap (  )  [inline]

void Shadow::setRadius ( F32  radius  ) 

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

bool Shadow::prepare ( const Point3F pos,
Point3F  lightDir,
F32  shadowLen,
const Point3F scale,
F32  dist,
F32  fogAmount,
TSShapeInstance  
)

bool Shadow::needBitmap (  )  [inline]

S32 Shadow::selectShapeDetail ( TSShapeInstance ,
F32  dist,
F32  scale,
S32  detailMin = -1 
)

void Shadow::render (  ) 

static GBitmap* Shadow::generateGenericShadowBitmap ( S32  dim  )  [static]

void Shadow::dumpSort (  ) 


Field Documentation

TextureHandle Shadow::mShadowTexture [private]

F32 Shadow::mRadius [private]

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

U32 Shadow::smShadowMask [static, private]

TextureHandle* Shadow::smGenericShadowTexture [static, private]

S32 Shadow::smGenericShadowDim [static, private]

S32 Shadow::smInstanceCount [static, private]

F32 Shadow::smShapeDetailScale [static, private]

S32 Shadow::smShapeDetailMin [static, private]

F32 Shadow::smGenericRadiusSkew [static, private]

bool Shadow::smAlwaysUseGenericBmp [static, private]

F32 Shadow::smLightDirSkew [static, private]

F32 Shadow::smLightLenSkew [static, private]

F32 Shadow::smGlobalShadowDetail [static, private]




All Rights Reserved GarageGames.com, Inc. 1999-2005
Auto-magically Generated with Doxygen