The Nebula Device 3: Lighting::PSSMUtil Class Reference

The Nebula Device 3

Lighting::PSSMUtil Class Reference

#include <pssmutil.h>


Detailed Description

Helper class which compute LightProj matrices for Parallel-Split- Shadowmap rendering.

(C) 2007 Radon Labs GmbH

Public Member Functions

 PSSMUtil ()
 constructor
void SetCameraEntity (const Ptr< InternalGraphics::InternalCameraEntity > &camera)
 set camera entity which defines the view and projection transform
const Ptr< InternalGraphics::InternalCameraEntity > & GetCameraEntity () const
 get camera entity
void SetLightDir (const Math::vector &dir)
 set light direction
const Math::vectorGetLightDir () const
 get light direction
void Compute ()
 compute PSSM split volumes
const Math::matrix44GetSplitLightTransform (IndexT splitIndex) const
 get view matrix for a view frustum split (valid after Compute)
const Math::matrix44GetSplitProjTransform (IndexT splitIndex) const
 get projection transform for a view frustum split (valid after Compute)
const Math::matrix44GetSplitLightProjTransform (IndexT splitIndex) const
 get light projection transform for given frustum split (valid after Compute())
const float * GetSplitDistances () const
 get raw pointer to split distances
const Math::matrix44GetSplitLightProjTransforms () const
 get raw pointer to LightProjTransforms

Static Public Attributes

static const SizeT NumSplits = 4
 number of view volume splits