CS::RenderManager::SingleRenderLayer 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::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.
iShader * | GetDefaultShader (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 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)
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 (iShader *defaultShader=0, size_t maxLightPasses=3, size_t maxLights=~0)
| Create a single render layer with a no shader type.
| 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 (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.
StaticLightsSettings & | GetStaticLightsSettings ()
| Get settings for handling static lights.
const StaticLightsSettings & | GetStaticLightsSettings () const
| 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.

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

Get settings for handling static lights.

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

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:

- csplugincommon/rendermanager/renderlayers.h