Project

General

Profile

SO3Engine

#include <SO3ShadowManager.h>

Public Types

enum  ShadowType {
  SO3_SHADOWS_NONE = 0 , SO3_SHADOWS_STENCIL = 1 , SO3_SHADOWS_LISPSM = 2 , SO3_SHADOWS_CSM = 3 ,
  SO3_SHADOWS_PSSM = 4 , SO3_SHADOWS_DEFERRED = 5
}
 
enum  ShadowQuality {
  SO3_SHADOWS_QUALITY_VERYLOW = 256 , SO3_SHADOWS_QUALITY_LOW = 512 , SO3_SHADOWS_QUALITY_MEDIUM = 768 , SO3_SHADOWS_QUALITY_HIGH = 1024 ,
  SO3_SHADOWS_QUALITY_VERYHIGH = 2048
}
 
enum  ShadowLightingType { SO3_INVALID_SHADOWS_LIGHTING = -1 , SO3_ADDITIVE_SHADOWS_LIGHTING = 0x01 , SO3_MODULATIVE_SHADOWS_LIGHTING = 0x02 }
 

Public Member Functions

 SShadowManager (SScene *parent)
 
 ~SShadowManager ()
 
int GetColour ()
 
void SetColour (const int &color)
 
int GetTextureSize ()
 
void SetTextureSize (const int &size)
 
ShadowLightingType GetLightingTechnique ()
 
void SetLightingTechnique (const ShadowLightingType &technique)
 
ShadowType GetShadowType ()
 
void SetShadowType (const ShadowType &type)
 
void SetShadowFarDistance (const float &dist)
 
float GetShadowFarDistance ()
 
float GetShadowDirectionalLightExtrusionDistance ()
 
void SetShadowDirectionalLightExtrusionDistance (const float &value)
 
void SetShadowFadeStart (const float &fade)
 
float GetShadowFadeStart ()
 
void SetShadowFadeEnd (const float &fade)
 
float GetShadowFadeEnd ()
 
void SetSelfShadow (const bool &state)
 
bool GetSelfShadow ()
 
SSceneGetParentScene ()
 
void SetShadowQuality (ShadowQuality quality)
 
ShadowQuality GetShadowQuality ()
 
void UpdateShadowMaterial (Ogre::Technique *tech)
 
void CleanShadowMaterial (Ogre::Technique *tech)
 
bool IsShadowMaterialPass (Ogre::Pass *pass)
 

Protected Attributes

SScenecurrentScene
 
Ogre::SceneManager * ogreScene
 

Detailed Description

Definition at line 42 of file SO3ShadowManager.h.

Member Enumeration Documentation

◆ ShadowLightingType

Enumerator
SO3_INVALID_SHADOWS_LIGHTING 
SO3_ADDITIVE_SHADOWS_LIGHTING 
SO3_MODULATIVE_SHADOWS_LIGHTING 

Definition at line 69 of file SO3ShadowManager.h.

◆ ShadowQuality

Enumerator
SO3_SHADOWS_QUALITY_VERYLOW 
SO3_SHADOWS_QUALITY_LOW 
SO3_SHADOWS_QUALITY_MEDIUM 
SO3_SHADOWS_QUALITY_HIGH 
SO3_SHADOWS_QUALITY_VERYHIGH 

Definition at line 58 of file SO3ShadowManager.h.

◆ ShadowType

List of available shadows rendering technique within SO3.

Enumerator
SO3_SHADOWS_NONE 
SO3_SHADOWS_STENCIL 
SO3_SHADOWS_LISPSM 
SO3_SHADOWS_CSM 
SO3_SHADOWS_PSSM 
SO3_SHADOWS_DEFERRED 

Definition at line 48 of file SO3ShadowManager.h.

Constructor & Destructor Documentation

◆ SShadowManager()

SO3::SShadowManager::SShadowManager ( SScene parent)

Constructor.

Definition at line 25 of file SO3ShadowManager.cpp.

◆ ~SShadowManager()

SO3::SShadowManager::~SShadowManager ( )

Destructor.

Definition at line 43 of file SO3ShadowManager.cpp.

Member Function Documentation

◆ CleanShadowMaterial()

void SO3::SShadowManager::CleanShadowMaterial ( Ogre::Technique *  tech)

Definition at line 243 of file SO3ShadowManager.cpp.

◆ GetColour()

int SO3::SShadowManager::GetColour ( )

Definition at line 54 of file SO3ShadowManager.cpp.

◆ GetLightingTechnique()

SShadowManager::ShadowLightingType SO3::SShadowManager::GetLightingTechnique ( )

Definition at line 76 of file SO3ShadowManager.cpp.

◆ GetParentScene()

SScene * SO3::SShadowManager::GetParentScene ( )

Definition at line 49 of file SO3ShadowManager.cpp.

◆ GetSelfShadow()

bool SO3::SShadowManager::GetSelfShadow ( )

Definition at line 214 of file SO3ShadowManager.cpp.

◆ GetShadowDirectionalLightExtrusionDistance()

float SO3::SShadowManager::GetShadowDirectionalLightExtrusionDistance ( )

Definition at line 172 of file SO3ShadowManager.cpp.

◆ GetShadowFadeEnd()

float SO3::SShadowManager::GetShadowFadeEnd ( )

Definition at line 204 of file SO3ShadowManager.cpp.

◆ GetShadowFadeStart()

float SO3::SShadowManager::GetShadowFadeStart ( )

Definition at line 193 of file SO3ShadowManager.cpp.

◆ GetShadowFarDistance()

float SO3::SShadowManager::GetShadowFarDistance ( )

Definition at line 167 of file SO3ShadowManager.cpp.

◆ GetShadowQuality()

SShadowManager::ShadowQuality SO3::SShadowManager::GetShadowQuality ( )

Definition at line 232 of file SO3ShadowManager.cpp.

◆ GetShadowType()

SShadowManager::ShadowType SO3::SShadowManager::GetShadowType ( )

Definition at line 145 of file SO3ShadowManager.cpp.

◆ GetTextureSize()

int SO3::SShadowManager::GetTextureSize ( )

Definition at line 64 of file SO3ShadowManager.cpp.

◆ IsShadowMaterialPass()

bool SO3::SShadowManager::IsShadowMaterialPass ( Ogre::Pass *  pass)

Definition at line 249 of file SO3ShadowManager.cpp.

◆ SetColour()

void SO3::SShadowManager::SetColour ( const int &  color)

Definition at line 59 of file SO3ShadowManager.cpp.

◆ SetLightingTechnique()

void SO3::SShadowManager::SetLightingTechnique ( const ShadowLightingType technique)

Definition at line 81 of file SO3ShadowManager.cpp.

◆ SetSelfShadow()

void SO3::SShadowManager::SetSelfShadow ( const bool &  state)

Definition at line 209 of file SO3ShadowManager.cpp.

◆ SetShadowDirectionalLightExtrusionDistance()

void SO3::SShadowManager::SetShadowDirectionalLightExtrusionDistance ( const float &  value)

Definition at line 177 of file SO3ShadowManager.cpp.

◆ SetShadowFadeEnd()

void SO3::SShadowManager::SetShadowFadeEnd ( const float &  fade)

Definition at line 198 of file SO3ShadowManager.cpp.

◆ SetShadowFadeStart()

void SO3::SShadowManager::SetShadowFadeStart ( const float &  fade)

Definition at line 187 of file SO3ShadowManager.cpp.

◆ SetShadowFarDistance()

void SO3::SShadowManager::SetShadowFarDistance ( const float &  dist)

Definition at line 154 of file SO3ShadowManager.cpp.

◆ SetShadowQuality()

void SO3::SShadowManager::SetShadowQuality ( ShadowQuality  quality)

Definition at line 219 of file SO3ShadowManager.cpp.

◆ SetShadowType()

void SO3::SShadowManager::SetShadowType ( const ShadowType type)

Definition at line 94 of file SO3ShadowManager.cpp.

◆ SetTextureSize()

void SO3::SShadowManager::SetTextureSize ( const int &  size)

Definition at line 69 of file SO3ShadowManager.cpp.

◆ UpdateShadowMaterial()

void SO3::SShadowManager::UpdateShadowMaterial ( Ogre::Technique *  tech)

Definition at line 237 of file SO3ShadowManager.cpp.

Member Data Documentation

◆ currentScene

SScene* SO3::SShadowManager::currentScene
protected

Definition at line 76 of file SO3ShadowManager.h.

◆ ogreScene

Ogre::SceneManager* SO3::SShadowManager::ogreScene
protected

Definition at line 77 of file SO3ShadowManager.h.


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