![]() |
Public API 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. | |
Classes for render manager plugin implementation.
Texture cache using time-based reuse and purge conditions.
Definition at line 285 of file texturecache.h.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| void CS::RenderManager::SetupStandardShader | ( | ContextNodeType & | context, |
| iShaderManager * | shaderManager, | ||
| const LayerConfigType & | layerConfig | ||
| ) |
Setup the standard shader.
Definition at line 172 of file shadersetup.h.
| 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);
| 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.
| 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);