CS::RenderManager Namespace Reference (Crystal Space 2.0 Public API Reference)

| ## Public API Reference

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

- Namespace List
- Namespace Members

Namespaces | Classes | Typedefs | Functions
CS::RenderManager Namespace Reference

Classes for render manager plugin implementation. More...

## Namespaces
namespace | AutoFX
| Classes for "automatic effects" (usually providing special textures or similar on an if-uses basis).
namespace | HDR
| Helpers for HDR effects.
## Classes
class | BeginFinishDrawScope
| Scope wrapper for setting BeginDraw flags and calling FinishDraw on scope end. More...
class | ContextTargetSetup
| Scope wrapper for setting render target from context settings. More...
class | DependentTargetManager
| Dependent target manager. More...
class | HDRHelper
| To help setting up a post effects manager for HDR rendering. More...
class | HDRSettings
| Read HDR settings from a config file. More...
class | LayerHelper
| Helper to duplicate render layers. More...
class | LightingSorter
| Lighting sorter. More...
class | LightingVariablesHelper
| Helper class to deal with shader variables setup for lighting. More...
struct | LightSettings
| Compatibility light settings: if two lights have equal compatibility light settings they can be rendered in one pass; if not, they require different passes. More...
class | LightSetup
| For each mesh determine the array of affecting lights and generate shader vars for it. More...
class | MultipleRenderLayer
| Render layer implementation providing multiple render layers. More...
struct | OperationNumbered
| Give each operation a number passed along to functor. Single execution. More...
struct | OperationNumberedParallel
| Give each operation a number passed along to functor. Possible parallel execution. More...
struct | OperationTraits
| Unspecialized traits class for operations defining their ordering and parallellization. More...
struct | OperationTraits< CS::Meta::CompositeFunctorType2< Fn1, Fn2 > >
| Specialized traits class for composite functor. More...
struct | OperationTraits< CS::Meta::CompositeFunctorType3< Fn1, Fn2, Fn3 > >
| Specialized traits class for composite functor. More...
struct | OperationTraits< StandardMeshSorter< RenderTree > >
| The sorter is currently non-parallel safe due to how the caching is implemented. More...
struct | OperationUnordered
| No forced order of operation. Single execution. More...
struct | OperationUnorderedParallel
| No forced order of operation. Possible parallel execution. More...
class | PostEffectLayersParser
| Helper to parse post processing effect configurations. More...
class | PostEffectManager
| Helper for post processing effects usage in render managers. More...
class | PostEffectsSupport
| Add post effects support to a render manager. More...
class | RenderCommon
| Common mesh render functions. More...
class | RenderTree
| RenderTree is the main data-structure for the rendermanagers. More...
class | RenderTreeBase
| Helper class containing stuff which doesn't require any of the template parameters to RenderTree. More...
class | RenderTreeStandardTraits
| Standard traits for customizing the render tree class. More...
class | RenderView
| This structure represents all information needed for drawing a scene. More...
class | RenderViewCache
| Stores a cache of RenderView objects, mapped by iView objects. More...
class | RMDebugCommon
| Common debug helpers in render manager plugins. More...
class | ShaderSetup
| Default shader setup functor. More...
class | ShaderSVSetup
| Standard shader variable stack setup functor for setting up shader variables from given shader and ticket arrays. More...
class | ShadowNone
| Shadow handler for "no" shadows. More...
class | ShadowPSSM
| PSSM shadow handler. More...
class | ShadowSettings
| Helper to read shadow handler settings. More...
class | SimpleContextRender
| Render mesh nodes within one context. More...
class | SimpleContextRenderByMesh
| Render mesh nodes within one context with "by mesh" render grouping. More...
class | SimpleTreeRenderer
| Renderer for multiple contexts, grouping them by render target and rendering all layers of each context to same target. More...
class | SingleMeshContextNumbering
| Simple operation to assign sequential IDs to all mesh nodes within a context. More...
class | SingleRenderLayer
| Render layer implementation for a single render layer. More...
class | StandardMeshSorter
| Standard rendermesh sorter. More...
class | StandardPortalSetup
| Standard setup functor for portals. More...
class | StandardPortalSetup_Base
| Base class for StandardPortalSetup, containing types and members which are independent of the template arguments that can be provided to StandardPortalSetup. More...
class | StandardSVSetup
| Standard shader variable stack setup functor. More...
struct | StaticLightsSettings
| Layer settings for handling static lights. More...
class | SVArrayHolder
| Holder for SV arrays. More...
class | TextureCacheT
| Cache for caching precreated textures. More...
class | TicketSetup
| Default shader ticket setup. More...
class | TraverseUsedSVs
| Traverser for all meshes in a tree, calling the callback for each SV used by each mesh. More...
class | TraverseUsedSVSets
| Traverser for all meshes in a tree, returning the set of used shader variables for each mesh. More...
## Typedefs
typedef TextureCacheT | TextureCache
| Texture cache using time-based reuse and purge conditions.
## Functions
bool | AddLayersFromDocument (iObjectRegistry *objectReg, iDocumentNode *node, MultipleRenderLayer &layers)
| Read layers setup from a document node.
bool | AddLayersFromFile (iObjectRegistry *objectReg, const char *fileName, MultipleRenderLayer &layers)
| Read layers setup from an XML file.
template<typename ContextNodeType , typename LayerConfigType >
void | SetupStandardShader (ContextNodeType &context, iShaderManager *shaderManager, const LayerConfigType &layerConfig)
| Setup the standard shader.
template<typename ContextNode , typename LayerConfigType >
void | SetupStandardSVs (ContextNode &context, LayerConfigType &layerConfig, iShaderManager *shaderManager, iSector *sector)
| Setup standard shader variables.
template<typename ContextNodeType , typename LayerConfigType >
void | SetupStandardTicket (ContextNodeType &context, iShaderManager *shaderManager, const LayerConfigType &layerConfig)
| Setup the shader ticket and shader Vs.
template<typename RenderTree >
bool | Viscull (typename RenderTree::ContextNode &context, RenderView *rw, iVisibilityCuller *culler)
| Use the given renderview and visibility culler to perform a culling step, add all found meshes to the given context.
template<typename RenderTree , typename Fn >
void | ForEachContext (RenderTree &tree, Fn &fn)
| Iterate over all contexts within render tree, call functor for each one.
template<typename RenderTree , typename Fn , typename Blocker >
void | ForEachContext (RenderTree &tree, Fn &fn, Blocker &block)
| Iterate over all contexts within render tree, call functor for each one.
template<typename RenderTree , typename Fn >
void | ForEachContextReverse (RenderTree &tree, Fn &fn)
| Iterate over all contexts within render tree backwards, call functor for each one.
template<typename RenderTree , typename Fn , typename Blocker >
void | ForEachContextReverse (RenderTree &tree, Fn &fn, Blocker &block)
| Iterate over all contexts within render tree backwards, call functor for each one.
template<typename ContextType , typename Fn >
void | ForEachMeshNode (ContextType &context, Fn &fn)
| Iterate over all mesh nodes within context, call functor for each one.
template<typename ContextType , typename Fn , typename Blocker >
void | ForEachMeshNode (ContextType &context, Fn &fn, Blocker &blocker)
| Iterate over all mesh nodes within context, call functor for each one.
template<typename ContextType , typename Fn >
void | ForEachMeshNodeReverse (ContextType &context, Fn &fn)
| Iterate over all mesh nodes within context reversed, call functor for each one.
template<typename ContextType , typename Fn , typename Blocker >
void | ForEachMeshNodeReverse (ContextType &context, Fn &fn, Blocker &blocker)
| Iterate over all mesh nodes within context reversed, call functor for each one.

## Detailed Description

Classes for render manager plugin implementation.

## Typedef Documentation

typedef TextureCacheT CS::RenderManager::TextureCache

Texture cache using time-based reuse and purge conditions.

Definition at line 285 of file texturecache.h.

## Function Documentation

bool CS::RenderManager::AddLayersFromDocument | ( | iObjectRegistry * | objectReg,
|  | iDocumentNode * | node,
|  | MultipleRenderLayer & | layers
| ) |  |

Read layers setup from a document node.

bool CS::RenderManager::AddLayersFromFile | ( | iObjectRegistry * | objectReg,
|  | const char * | fileName,
|  | MultipleRenderLayer & | layers
| ) |  |

Read layers setup from an XML file.

template<typename RenderTree , typename Fn >

void CS::RenderManager::ForEachContext | ( | RenderTree & | tree,
|  | Fn & | fn
| ) |  |

Iterate over all contexts within render tree, call functor for each one.

Does not use any blocking at all.

Definition at line 430 of file operations.h.

template<typename RenderTree , typename Fn , typename Blocker >

void CS::RenderManager::ForEachContext | ( | RenderTree & | tree,
|  | Fn & | fn,
|  | Blocker & | block
| ) |  |

Iterate over all contexts within render tree, call functor for each one.

Does use a user-supplied blocker for ignoring certain contexts.

Definition at line 457 of file operations.h.

template<typename RenderTree , typename Fn >

void CS::RenderManager::ForEachContextReverse | ( | RenderTree & | tree,
|  | Fn & | fn
| ) |  |

Iterate over all contexts within render tree backwards, call functor for each one.

Does not use any blocking at all.

Definition at line 483 of file operations.h.

template<typename RenderTree , typename Fn , typename Blocker >

void CS::RenderManager::ForEachContextReverse | ( | RenderTree & | tree,
|  | Fn & | fn,
|  | Blocker & | block
| ) |  |

Iterate over all contexts within render tree backwards, call functor for each one.

Does use a user-supplied blocker for ignoring certain contexts.

Definition at line 510 of file operations.h.

template<typename ContextType , typename Fn >

void CS::RenderManager::ForEachMeshNode | ( | ContextType & | context,
|  | Fn & | fn
| ) |  |

Iterate over all mesh nodes within context, call functor for each one.

Does not use any blocking at all.

Definition at line 539 of file operations.h.

template<typename ContextType , typename Fn , typename Blocker >

void CS::RenderManager::ForEachMeshNode | ( | ContextType & | context,
|  | Fn & | fn,
|  | Blocker & | blocker
| ) |  |

Iterate over all mesh nodes within context, call functor for each one.

Does use a user-supplied blocker for ignoring certain nodes.

Definition at line 565 of file operations.h.

template<typename ContextType , typename Fn >

void CS::RenderManager::ForEachMeshNodeReverse | ( | ContextType & | context,
|  | Fn & | fn
| ) |  |

Iterate over all mesh nodes within context reversed, call functor for each one.

Does not use any blocking at all.

Definition at line 590 of file operations.h.

template<typename ContextType , typename Fn , typename Blocker >

void CS::RenderManager::ForEachMeshNodeReverse | ( | ContextType & | context,
|  | Fn & | fn,
|  | Blocker & | blocker
| ) |  |

Iterate over all mesh nodes within context reversed, call functor for each one.

Does use a user-supplied blocker for ignoring certain nodes.

Definition at line 616 of file operations.h.

template<typename ContextNodeType , typename LayerConfigType >

void CS::RenderManager::SetupStandardShader | ( | ContextNodeType & | context,
|  | iShaderManager * | shaderManager,
|  | const LayerConfigType & | layerConfig
| ) |  |

Setup the standard shader.

Definition at line 172 of file shadersetup.h.

template<typename ContextNode , typename LayerConfigType >

void CS::RenderManager::SetupStandardSVs | ( | ContextNode & | context,
|  | LayerConfigType & | layerConfig,
|  | iShaderManager * | shaderManager,
|  | iSector * | sector
| ) |  |

Setup standard shader variables.

Allocates space in the context's SV array holder and prefills that with the shader variables from the shader manager, the context and the sector.

Usage: has to be done after mesh numbering. Usually done before mesh SV setup. Example:

     SetupStandardSVs (context, layerConfig, shaderManager, sector);

Definition at line 192 of file svsetup.h.

template<typename ContextNodeType , typename LayerConfigType >

void CS::RenderManager::SetupStandardTicket | ( | ContextNodeType & | context,
|  | iShaderManager * | shaderManager,
|  | const LayerConfigType & | layerConfig
| ) |  |

Setup the shader ticket and shader Vs.

Must be done after shader setup (usually SetupStandardShader()).

Definition at line 193 of file shadersetup.h.

template<typename RenderTree >

bool CS::RenderManager::Viscull | ( | typename RenderTree::ContextNode & | context,
|  | RenderView * | rw,
|  | iVisibilityCuller * | culler
| ) |  |

Use the given renderview and visibility culler to perform a culling step, add all found meshes to the given context.

Usually the first thing done with a view and context. Example:

     // Renderview+sector setup
     sector->PrepareDraw (renderView);
     // Make sure the clip-planes are ok
     CS::RenderViewClipper::SetupClipPlanes (renderView->GetRenderContext ());

     // Do the culling
     iVisibilityCuller* culler = sector->GetVisibilityCuller ();
     Viscull<RenderTree> (context, renderView, culler);

Definition at line 195 of file viscull.h.