CrystalSpace

Public API Reference

CS::RenderManager::SingleRenderLayer Class Reference

Render layer implementation for a single render layer. More...

#include <csplugincommon/rendermanager/renderlayers.h>

List of all members.

Public Member Functions

void AddShaderType (csStringID shaderType)
 Add a shader type to the list of types this layer handles.
iShaderGetDefaultShader (size_t layer) const
 Get the default fallback shader for a layer.
size_t GetLayerCount () const
 Get number of render layers (always 1 in this implementation).
size_t GetMaxLightNum (size_t layer) const
 Get maximum number of lights to be rendered on that layer.
size_t GetMaxLightPasses (size_t layer) const
 Get maximum number of passes to render lights with.
const csStringIDGetShaderTypes (size_t layer, size_t &num) const
 Get the list of shader types a layer handles.
iShaderVariableContextGetSVContext (size_t layer) const
 Get per-layer shader variables.
bool IsAmbientLayer (size_t layer) const
 Whether a layer is an ambient layer (means that it's rendered even when no lights are selected/the shader does not support lighting).
void SetAmbient (bool isAmbient)
 Set whether this is an ambient layer.
void SetDefaultShader (iShader *defaultShader)
 Set the default fallback shader.
void SetMaxLightPasses (size_t maxLightPasses)
 Set maximum number of passes to render lights with.
void SetMaxLights (size_t maxLights)
 Get maximum number of lights to be rendered on that layer.
void SetShaderTypes (const csStringID *shaderTypes, size_t numTypes)
 Set the list of shader types this layer handles.
void SetSVContext (iShaderVariableContext *svContext)
 Set per-layer shader variables.
 SingleRenderLayer (const csStringID *shaderTypes, size_t numTypes, iShader *defaultShader=0, size_t maxLightPasses=3, size_t maxLights=~0)
 Create a single render layer with multiple shader types.
 SingleRenderLayer (const csStringID shaderType, iShader *defaultShader=0, size_t maxLightPasses=3, size_t maxLights=~0)
 Create a single render layer with a single shader type.
 SingleRenderLayer (iShader *defaultShader=0, size_t maxLightPasses=3, size_t maxLights=~0)
 Create a single render layer with a no shader type.



const StaticLightsSettingsGetStaticLightsSettings () const
 Get settings for handling static lights.
StaticLightsSettingsGetStaticLightsSettings ()
 Get settings for handling static lights.

Detailed Description

Render layer implementation for a single render layer.

Definition at line 58 of file renderlayers.h.


Constructor & Destructor Documentation

CS::RenderManager::SingleRenderLayer::SingleRenderLayer ( iShader defaultShader = 0,
size_t  maxLightPasses = 3,
size_t  maxLights = ~0 
) [inline]

Create a single render layer with a no shader type.

Definition at line 62 of file renderlayers.h.

CS::RenderManager::SingleRenderLayer::SingleRenderLayer ( const csStringID  shaderType,
iShader defaultShader = 0,
size_t  maxLightPasses = 3,
size_t  maxLights = ~0 
) [inline]

Create a single render layer with a single shader type.

Definition at line 68 of file renderlayers.h.

CS::RenderManager::SingleRenderLayer::SingleRenderLayer ( const csStringID shaderTypes,
size_t  numTypes,
iShader defaultShader = 0,
size_t  maxLightPasses = 3,
size_t  maxLights = ~0 
) [inline]

Create a single render layer with multiple shader types.

Definition at line 76 of file renderlayers.h.


Member Function Documentation

void CS::RenderManager::SingleRenderLayer::AddShaderType ( csStringID  shaderType  )  [inline]

Add a shader type to the list of types this layer handles.

Definition at line 88 of file renderlayers.h.

iShader* CS::RenderManager::SingleRenderLayer::GetDefaultShader ( size_t  layer  )  const [inline]

Get the default fallback shader for a layer.

Definition at line 109 of file renderlayers.h.

size_t CS::RenderManager::SingleRenderLayer::GetLayerCount (  )  const [inline]

Get number of render layers (always 1 in this implementation).

Definition at line 94 of file renderlayers.h.

size_t CS::RenderManager::SingleRenderLayer::GetMaxLightNum ( size_t  layer  )  const [inline]

Get maximum number of lights to be rendered on that layer.

If a shader supports less than this amount of lights, multiple passes are rendered, until one of the light maximum or the pass maximum is reached.

Definition at line 122 of file renderlayers.h.

size_t CS::RenderManager::SingleRenderLayer::GetMaxLightPasses ( size_t  layer  )  const [inline]

Get maximum number of passes to render lights with.

See also:
GetMaxLightNum

Definition at line 133 of file renderlayers.h.

const csStringID* CS::RenderManager::SingleRenderLayer::GetShaderTypes ( size_t  layer,
size_t &  num 
) const [inline]

Get the list of shader types a layer handles.

Definition at line 100 of file renderlayers.h.

const StaticLightsSettings& CS::RenderManager::SingleRenderLayer::GetStaticLightsSettings (  )  const [inline]

Get settings for handling static lights.

Definition at line 160 of file renderlayers.h.

StaticLightsSettings& CS::RenderManager::SingleRenderLayer::GetStaticLightsSettings (  )  [inline]

Get settings for handling static lights.

Definition at line 156 of file renderlayers.h.

iShaderVariableContext* CS::RenderManager::SingleRenderLayer::GetSVContext ( size_t  layer  )  const [inline]

Get per-layer shader variables.

Definition at line 149 of file renderlayers.h.

bool CS::RenderManager::SingleRenderLayer::IsAmbientLayer ( size_t  layer  )  const [inline]

Whether a layer is an ambient layer (means that it's rendered even when no lights are selected/the shader does not support lighting).

Definition at line 143 of file renderlayers.h.

void CS::RenderManager::SingleRenderLayer::SetAmbient ( bool  isAmbient  )  [inline]

Set whether this is an ambient layer.

See also:
IsAmbientLayer

Definition at line 198 of file renderlayers.h.

void CS::RenderManager::SingleRenderLayer::SetDefaultShader ( iShader defaultShader  )  [inline]

Set the default fallback shader.

Definition at line 174 of file renderlayers.h.

void CS::RenderManager::SingleRenderLayer::SetMaxLightPasses ( size_t  maxLightPasses  )  [inline]

Set maximum number of passes to render lights with.

See also:
GetMaxLightNum

Definition at line 182 of file renderlayers.h.

void CS::RenderManager::SingleRenderLayer::SetMaxLights ( size_t  maxLights  )  [inline]

Get maximum number of lights to be rendered on that layer.

See also:
GetMaxLightNum

Definition at line 190 of file renderlayers.h.

void CS::RenderManager::SingleRenderLayer::SetShaderTypes ( const csStringID shaderTypes,
size_t  numTypes 
) [inline]

Set the list of shader types this layer handles.

Definition at line 167 of file renderlayers.h.

void CS::RenderManager::SingleRenderLayer::SetSVContext ( iShaderVariableContext svContext  )  [inline]

Set per-layer shader variables.

Definition at line 203 of file renderlayers.h.


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

Generated for Crystal Space 2.1 by doxygen 1.6.1