Nebula
|
#include <csmutil.h>
Helper class for creating and rendering Cascading Shadow Maps.
Classes | |
struct | CascadeFrustum |
Public Member Functions | |
CSMUtil (const uint numCascades) | |
constructor | |
virtual | ~CSMUtil () |
destructor | |
void | SetCameraEntity (const Graphics::GraphicsEntityId camera) |
sets the camera entity | |
const Graphics::GraphicsEntityId | GetCameraEntity () const |
get the camera entity | |
void | SetShadowBox (const Math::bbox &sceneBox) |
sets the scene bounding box | |
void | SetGlobalLight (const Graphics::GraphicsEntityId globalLight) |
sets the global light entity | |
const Graphics::GraphicsEntityId | GetGlobalLight () const |
gets the global light entity | |
void | SetTextureWidth (int width) |
sets the texture width for the CSM texture buffer | |
void | SetBlurSize (int size) |
sets the CSM blur size | |
void | SetFitTexels (bool state) |
sets whether or not the CSM should clamp the cascades to fit the size of the texels | |
const Math::mat4 & | GetCascadeViewProjection (IndexT cascadeIndex) const |
gets computed view projection transform (valid after Compute) | |
const Math::mat4 & | GetShadowView () const |
gets the shadow view transform (valid after Compute) | |
const Util::FixedArray< Math::mat4 > & | GetCascadeProjectionTransforms () const |
returns raw pointer to array of cascade transforms | |
const Util::FixedArray< float > & | GetCascadeDistances () const |
returns raw pointer to array of cascade distances | |
const Math::mat4 & | GetCascadeCamera (IndexT index) const |
gets cascade debug camera (only valid after Compute, and if the debug flag is set) | |
void | Compute (const Graphics::GraphicsEntityId camera, const Graphics::GraphicsEntityId light) |
computes the splits | |
Lighting::CSMUtil::CSMUtil | ( | const uint | numCascades | ) |
constructor
|
virtual |
destructor
void Lighting::CSMUtil::Compute | ( | const Graphics::GraphicsEntityId | camera, |
const Graphics::GraphicsEntityId | light ) |
computes the splits
|
inline |
get the camera entity
const Math::mat4 & Lighting::CSMUtil::GetCascadeCamera | ( | IndexT | index | ) | const |
gets cascade debug camera (only valid after Compute, and if the debug flag is set)
|
inline |
returns raw pointer to array of cascade distances
|
inline |
returns raw pointer to array of cascade transforms
|
inline |
gets computed view projection transform (valid after Compute)
|
inline |
gets the global light entity
|
inline |
gets the shadow view transform (valid after Compute)
void Lighting::CSMUtil::SetBlurSize | ( | int | size | ) |
sets the CSM blur size
|
inline |
sets the camera entity
void Lighting::CSMUtil::SetFitTexels | ( | bool | state | ) |
sets whether or not the CSM should clamp the cascades to fit the size of the texels
|
inline |
sets the global light entity
|
inline |
sets the scene bounding box
void Lighting::CSMUtil::SetTextureWidth | ( | int | width | ) |
sets the texture width for the CSM texture buffer
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |