The Nebula Device 3: Lighting::SM30ShadowServer Class Reference

The Nebula Device 3

Lighting::SM30ShadowServer Class Reference

#include <sm30shadowserver.h>

Inheritance diagram for Lighting::SM30ShadowServer:

Lighting::ShadowServer


Detailed Description

Shadow server for platforms which support at least shader model 3.0. Implements simple shadow mapping for local lights and parallel-split- shadow-mapping for the global light source

(C) 2007 Radon Labs GmbH

Public Member Functions

 SM30ShadowServer ()
 constructor
virtual ~SM30ShadowServer ()
 destructor
void Open ()
 open the shadow server
void Close ()
 close the shadow server
void UpdateShadowBuffers ()
 update shadow buffer
const Ptr
< CoreGraphics::Texture > & 
GetLocalLightShadowBufferTexture () const
 get pointer to shadow buffer for local lights
const Ptr
< CoreGraphics::Texture > & 
GetGlobalLightShadowBufferTexture () const
 get pointer to PSSM shadow buffer for global lights
const float * GetPSSMSplitDistances () const
 get array of PSSM split distances
const Math::matrix44GetPSSMSplitLightProjTransforms () const
 get array of PSSM LightProjTransforms

Member Function Documentation

void Lighting::SM30ShadowServer::UpdateShadowBuffers (  ) 

update shadow buffer

This method updates the internal shadow buffer render taregets.

const float * Lighting::SM30ShadowServer::GetPSSMSplitDistances (  )  const

get array of PSSM split distances

Get raw pointer to array of PSSM split distances.

const Math::matrix44 * Lighting::SM30ShadowServer::GetPSSMSplitLightProjTransforms (  )  const

get array of PSSM LightProjTransforms

Get raw pointer to array of PSSM split LightProjTransform matrices.