CS::RenderManager::MultipleRenderLayer Class Reference (Crystal Space 2.0 Public API Reference)

| ## Public API Reference

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Member Functions
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.
iShader * | GetDefaultShader (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 csStringID * | GetShaderTypes (size_t layer, size_t &num) const
| Get the list of shader types a layer handles.
iShaderVariableContext * | GetSVContext (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 ()
| Create with no layers.
| 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.
StaticLightsSettings & | GetStaticLightsSettings ()
| Get settings for handling static lights.
const StaticLightsSettings & | GetStaticLightsSettings () const
| 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.

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

Get settings for handling static lights.

Definition at line 340 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.

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:

- csplugincommon/rendermanager/renderlayers.h