ShadowVolumeBSP
Engine/source/lighting/common/shadowVolumeBSP.h
Used to calculate shadows.
Classes:
Access functions
insertPoly(SVPoly * poly)
getClippedSurfaceArea(SVPoly * poly)
Public Attributes
Public Functions
addToPolyList(SVPoly ** , SVPoly * )
addUniqueVolume(SurfaceInfo * , U32 )
clipToSelf(SVNode * , SVPoly ** , SVPoly * )
SVNode *
SVPoly *
getClippedSurfaceArea(SVNode * , SVPoly * )
getLitSurfaceArea(SVPoly * , SurfaceInfo * )
SVNode *
insertPlane(const PlaneF & )
insertPoly(SVNode ** , SVPoly * )
insertPolyBack(SVNode ** , SVPoly * )
insertPolyFront(SVNode ** , SVPoly * )
insertShadowVolume(SVNode ** , U32 )
movePolyList(SVPoly ** , SVPoly * )
recycleNode(SVNode * )
recyclePoly(SVPoly * )
Detailed Description
Used to calculate shadows.
Access functions
insertPoly(SVPoly * poly)
testPoint(Point3F & pnt)
testPoly(SVPoly * poly)
getClippedSurfaceArea(SVPoly * poly)
Helpers
buildPolyVolume(SVPoly * , LightInfo * )
copyPoly(SVPoly * )
Public Attributes
SVNode * mFirstInteriorNode
Chunker< SVNode > mNodeChunker
SVNode * mNodeStore
Vector< SVNode * > mParentNodes
Vector< PlaneF > mPlanes
Chunker< SVPoly > mPolyChunker
SVPoly * mPolyStore
Vector< SVNode * > mShadowVolumes
Vector< SurfaceInfo * > mSurfaces
SVNode * mSVRoot
Public Functions
ShadowVolumeBSP()
~ShadowVolumeBSP()
addToPolyList(SVPoly ** , SVPoly * )
addUniqueVolume(SurfaceInfo * , U32 )
clipPoly(SVNode * , SVPoly ** , SVPoly * )
clipToSelf(SVNode * , SVPoly ** , SVPoly * )
createNode()
createPoly()
getClippedSurfaceArea(SVNode * , SVPoly * )
getLitSurfaceArea(SVPoly * , SurfaceInfo * )
getPlane(U32 )
getPolySurfaceArea(SVPoly * )
getShadowVolume(U32 )
insertPlane(const PlaneF & )
insertPoly(SVNode ** , SVPoly * )
insertPolyBack(SVNode ** , SVPoly * )
insertPolyFront(SVNode ** , SVPoly * )
insertShadowVolume(SVNode ** , U32 )
movePolyList(SVPoly ** , SVPoly * )
recycleNode(SVNode * )
recyclePoly(SVPoly * )
removeLastInterior()
splitPoly(SVPoly * , const PlaneF & , SVPoly ** , SVPoly ** )
testPoint(SVNode * , const Point3F & )
testPoly(SVNode * , SVPoly * )
whichSide(SVPoly * , const PlaneF & )