![]() |
Public API Reference |
![]() |
Render layer implementation for a single render layer. More...
#include <csplugincommon/rendermanager/renderlayers.h>
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. |
Render layer implementation for a single render layer.
Definition at line 58 of file renderlayers.h.
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.
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.
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.
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.
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.
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.
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.