![]() |
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);