VR-Forces 4.3 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes
makVrv::DtTileSpaceLightGrid Class Reference

Class doing all the heavy lifting in regards of forward+ lighting. More...

Public Member Functions

 DtTileSpaceLightGrid ()
 CTOR.
virtual ~DtTileSpaceLightGrid ()
 DTOR.
const Vector2_uint32gridMaxDims (void) const
 Get the num of tiles in x and y for the current internal max resolution.
uint32 getGridMaxDimsFlattened (void) const
 Get the numTilesX * numTilesY.
void setTileSize (Vector2_uint32 tileSize)
 Tile Size getter/setter.
const Vector2_uint32tileSize (void) const
 Tile Size getter/setter.
void update (const VectorLights &frustumVisibleLights, const Camera_64 *pCamera, const Vector2_uint32 &viewportSize)
 Update to bin lights affecting frustum into tiles.
void update (const VectorLights &frustumVisibleLights, const Matrix4_64 &view_projection_matrix, const Vector2_uint32 &viewportSize)
 Update to bin lights affecting frustum into tiles.
int tileLightCount (uint32 x, uint32 y) const
 Tile accessor functions. Returns tile data for an individual tile.
const inttileLightIndexList (uint32 x, uint32 y) const
 Tile accessor functions. Returns tile data for an individual tile.
const inttileDataPtr () const
 Grid data pointer accessors, used for uploading to GPU.
const inttileCountsDataPtr () const
 Grid data pointer accessors, used for uploading to GPU.
const inttileLightIndexListsPtr () const
 Grid data pointer accessors, used for uploading to GPU.
uint32 totalTileLightIndexListLength () const
 Grid data pointer accessors, used for uploading to GPU.
void setScreenAreaCullSize (uint32 val)
 Rejects lights with screen space area less than this value.
uint32 screenAreaCullSize (void) const
 Rejects lights with screen space area less than this value.

Private Member Functions

void updateScreenSpaceRectangles (const VectorLights &frustumVisibleLights, const Matrix4_64 &view_projection_matrix, const Vector2_uint32 &viewportSize, const Vector2_uint32 &tileSize)
void updateToAccountForScreenRes (const Vector2_uint32 &viewport_size)
intGridOffset (int x, int y)
intGridCount (int x, int y)
int gridOffset (int x, int y)
int gridCount (int x, int y)

Private Attributes

Vector2_uint32 myTileSize
Vector2_uint32 myCurrentMaxScreenResolution
Vector2_uint32 myGridMaxDims
int32myGridOffsets
int32myGridCounts
std::vector< intmyTileLightIndexLists
uint32 myMaxTileLightCount
bool myMinMaxGridValid
ConstVectorLights myViewSpaceLights
VectorScreenRectangles myScreenRects
VectorAreas myScreenRectAreas
uint32 myRejectArea

Static Private Attributes

static const Vector2_uint32 m_InitialMaxScreenResolution

Detailed Description

Class doing all the heavy lifting in regards of forward+ lighting.

Constructor & Destructor Documentation

makVrv::DtTileSpaceLightGrid::DtTileSpaceLightGrid ( )

CTOR.

virtual makVrv::DtTileSpaceLightGrid::~DtTileSpaceLightGrid ( )
virtual

DTOR.

Member Function Documentation

void makVrv::DtTileSpaceLightGrid::setTileSize ( Vector2_uint32  tileSize)

Tile Size getter/setter.

const Vector2_uint32& makVrv::DtTileSpaceLightGrid::tileSize ( void  ) const

Tile Size getter/setter.

const Vector2_uint32& makVrv::DtTileSpaceLightGrid::gridMaxDims ( void  ) const

Get the num of tiles in x and y for the current internal max resolution.

uint32 makVrv::DtTileSpaceLightGrid::getGridMaxDimsFlattened ( void  ) const

Get the numTilesX * numTilesY.

void makVrv::DtTileSpaceLightGrid::update ( const VectorLights &  frustumVisibleLights,
const Camera_64 pCamera,
const Vector2_uint32 viewportSize 
)

Update to bin lights affecting frustum into tiles.

void makVrv::DtTileSpaceLightGrid::update ( const VectorLights &  frustumVisibleLights,
const Matrix4_64 view_projection_matrix,
const Vector2_uint32 viewportSize 
)

Update to bin lights affecting frustum into tiles.

int makVrv::DtTileSpaceLightGrid::tileLightCount ( uint32  x,
uint32  y 
) const

Tile accessor functions. Returns tile data for an individual tile.

const int* makVrv::DtTileSpaceLightGrid::tileLightIndexList ( uint32  x,
uint32  y 
) const

Tile accessor functions. Returns tile data for an individual tile.

const int* makVrv::DtTileSpaceLightGrid::tileDataPtr ( ) const
inline

Grid data pointer accessors, used for uploading to GPU.

const int* makVrv::DtTileSpaceLightGrid::tileCountsDataPtr ( ) const
inline

Grid data pointer accessors, used for uploading to GPU.

const int* makVrv::DtTileSpaceLightGrid::tileLightIndexListsPtr ( ) const
inline

Grid data pointer accessors, used for uploading to GPU.

uint32 makVrv::DtTileSpaceLightGrid::totalTileLightIndexListLength ( ) const
inline

Grid data pointer accessors, used for uploading to GPU.

void makVrv::DtTileSpaceLightGrid::setScreenAreaCullSize ( uint32  val)

Rejects lights with screen space area less than this value.

uint32 makVrv::DtTileSpaceLightGrid::screenAreaCullSize ( void  ) const

Rejects lights with screen space area less than this value.

void makVrv::DtTileSpaceLightGrid::updateScreenSpaceRectangles ( const VectorLights &  frustumVisibleLights,
const Matrix4_64 view_projection_matrix,
const Vector2_uint32 viewportSize,
const Vector2_uint32 tileSize 
)
private
void makVrv::DtTileSpaceLightGrid::updateToAccountForScreenRes ( const Vector2_uint32 viewport_size)
private
int& makVrv::DtTileSpaceLightGrid::GridOffset ( int  x,
int  y 
)
private
int& makVrv::DtTileSpaceLightGrid::GridCount ( int  x,
int  y 
)
private
int makVrv::DtTileSpaceLightGrid::gridOffset ( int  x,
int  y 
)
private
int makVrv::DtTileSpaceLightGrid::gridCount ( int  x,
int  y 
)
private

Member Data Documentation

Vector2_uint32 makVrv::DtTileSpaceLightGrid::myTileSize
private
const Vector2_uint32 makVrv::DtTileSpaceLightGrid::m_InitialMaxScreenResolution
staticprivate
Vector2_uint32 makVrv::DtTileSpaceLightGrid::myCurrentMaxScreenResolution
private
Vector2_uint32 makVrv::DtTileSpaceLightGrid::myGridMaxDims
private
int32* makVrv::DtTileSpaceLightGrid::myGridOffsets
private
int32* makVrv::DtTileSpaceLightGrid::myGridCounts
private
std::vector<int> makVrv::DtTileSpaceLightGrid::myTileLightIndexLists
private
uint32 makVrv::DtTileSpaceLightGrid::myMaxTileLightCount
private
bool makVrv::DtTileSpaceLightGrid::myMinMaxGridValid
private
ConstVectorLights makVrv::DtTileSpaceLightGrid::myViewSpaceLights
private
VectorScreenRectangles makVrv::DtTileSpaceLightGrid::myScreenRects
private
VectorAreas makVrv::DtTileSpaceLightGrid::myScreenRectAreas
private
uint32 makVrv::DtTileSpaceLightGrid::myRejectArea
private

The documentation for this class was generated from the following file:

Document ID: Generated on Wed Mar 11 21:20:57 EDT 2015 from SVN revision 150940
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)