CrystalSpace

Public API Reference

CS::RenderManager::MultipleRenderLayer Class Reference

Render layer implementation providing multiple render layers. More...

#include <csplugincommon/rendermanager/renderlayers.h>

List of all members.

Public Member Functions

template<typename LayerType >
void AddLayers (const LayerType &layers)
 Add all layers of the render layers container layers to this one.
void Clear ()
 Remove all layers.
iShaderGetDefaultShader (size_t layer) const
 Get the default fallback shader for a layer.
size_t GetLayerCount () const
 Get number of render layers.
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).
 MultipleRenderLayer (size_t numLayers, const csStringID *shaderTypes, iShader **defaultShader, size_t *maxLightPasses=0, size_t *maxLights=0)
 Create with numLayers layers, initialized with a shader type from shaderTypes, default shader from defaultShader, maximum light passes from maxLightPasses and maximum lights from maxLights.
 MultipleRenderLayer ()
 Create with no layers.



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

Detailed Description

Render layer implementation providing multiple render layers.

Definition at line 224 of file renderlayers.h.


Constructor & Destructor Documentation

CS::RenderManager::MultipleRenderLayer::MultipleRenderLayer (  )  [inline]

Create with no layers.

Definition at line 228 of file renderlayers.h.

CS::RenderManager::MultipleRenderLayer::MultipleRenderLayer ( size_t  numLayers,
const csStringID shaderTypes,
iShader **  defaultShader,
size_t *  maxLightPasses = 0,
size_t *  maxLights = 0 
) [inline]

Create with numLayers layers, initialized with a shader type from shaderTypes, default shader from defaultShader, maximum light passes from maxLightPasses and maximum lights from maxLights.

Definition at line 234 of file renderlayers.h.


Member Function Documentation

template<typename LayerType >
void CS::RenderManager::MultipleRenderLayer::AddLayers ( const LayerType &  layers  )  [inline]

Add all layers of the render layers container layers to this one.

Definition at line 262 of file renderlayers.h.

void CS::RenderManager::MultipleRenderLayer::Clear (  )  [inline]

Remove all layers.

Definition at line 351 of file renderlayers.h.

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

Get the default fallback shader for a layer.

Definition at line 301 of file renderlayers.h.

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

Get number of render layers.

Definition at line 287 of file renderlayers.h.

size_t CS::RenderManager::MultipleRenderLayer::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 312 of file renderlayers.h.

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

Get maximum number of passes to render lights with.

See also:
GetMaxLightNum

Definition at line 321 of file renderlayers.h.

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

Get the list of shader types a layer handles.

Definition at line 293 of file renderlayers.h.

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

Get settings for handling static lights.

Definition at line 344 of file renderlayers.h.

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

Get settings for handling static lights.

Definition at line 340 of file renderlayers.h.

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

Get per-layer shader variables.

Definition at line 334 of file renderlayers.h.

bool CS::RenderManager::MultipleRenderLayer::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 329 of file renderlayers.h.


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

Generated for Crystal Space 2.0 by doxygen 1.6.1