|
| | CompositorShadowNodeDef (const String &name, CompositorManager2 *compositorManager) |
| |
| | ~CompositorShadowNodeDef () override |
| |
| virtual void | _validateAndFinish () |
| | Checks that paremeters are correctly set, and finalizes whatever needs to be done, probably because not enough data was available at the time of creation.
|
| |
| void | addBufferInput (size_t inputChannel, IdString name) override |
| | Buffers.
|
| |
| ShadowTextureDefinition * | addShadowTextureDefinition (size_t lightIdx, size_t split, const String &name, const Vector2 &uvOffset, const Vector2 &uvLength, uint8 arrayIdx) |
| | Adds a new ShadowTexture definition.
|
| |
| IdString | addTextureSourceName (const String &name, size_t index, TextureSource textureSource) override |
| | Overloaded to prevent creating input channels.
|
| |
| size_t | getNumShadowTextureDefinitions () const |
| | Gets the number of shadow texture definitions in this node.
|
| |
| const ShadowTextureDefinition * | getShadowTextureDefinition (size_t texIndex) const |
| | Retrieves a shadow texture definition by its index.
|
| |
| ShadowTextureDefinition * | getShadowTextureDefinitionNonConst (size_t texIndex) |
| |
| void | postInitializePassDef (CompositorPassDef *passDef) override |
| | Called right after we create a pass definition.
|
| |
| void | setDefaultTechnique (ShadowMapTechniques techn) |
| |
| void | setNumShadowTextureDefinitions (size_t numTex) |
| | Reserves enough memory for all texture definitions.
|
| |
| | CompositorNodeDef (const String &name, CompositorManager2 *compositorManager) |
| |
| virtual | ~CompositorNodeDef () |
| |
| CompositorTargetDef * | addTargetPass (const String &renderTargetName, uint32 rtIndex=0) |
| | Adds a new Target pass.
|
| |
| size_t | calculateNumPasses () const |
| | Calculates the total number of passes in this node.
|
| |
| CompositorManager2 * | getCompositorManager () const |
| |
| IdString | getName () const |
| |
| String | getNameStr () const |
| |
| size_t | getNumOutputChannels () const |
| | Returns the number of output channels.
|
| |
| size_t | getNumTargetPasses () const |
| | Gets the number of target passes in this node.
|
| |
| size_t | getPassNumber (const CompositorPassDef *passDef) const |
| | Returns the pass # of the given pass definition in this node.
|
| |
| bool | getStartEnabled () const |
| |
| CompositorTargetDef * | getTargetPass (size_t passIndex) |
| | Retrieves an existing pass by it's given index.
|
| |
| void | getTextureSource (IdString name, size_t &index, TextureSource &textureSource) const |
| | See http://www.research.att.com/~bs/bs_faq2.html#overloadderived.
|
| |
| void | getTextureSource (size_t outputChannel, size_t &index, TextureSource &textureSource) const |
| | Retrieves in which container to look for when wanting to know the output texture using the mappings from input/local texture -> output.
|
| |
| void | mapOutputBufferChannel (size_t outChannel, IdString bufferName) |
| | Maps the output channel to the given buffer name which can be either a local buffer or a reference to an input channel.
|
| |
| void | mapOutputChannel (size_t outChannel, IdString textureName) |
| | Maps the output channel to the given texture name, which can be either a local texture or a reference to an input channel.
|
| |
| void | removeTexture (IdString name) override |
| | WARNING: Be very careful with this function.
|
| |
| void | setNumOutputBufferChannels (size_t numOuts) |
| | Reserves enough memory for all output channel mappings (efficient allocation, better than using linked lists or other containers with two level of indirections)
|
| |
| void | setNumOutputChannels (size_t numOuts) |
| | Reserves enough memory for all output channel mappings (efficient allocation, better than using linked lists or other containers with two level of indirections)
|
| |
| void | setNumTargetPass (size_t numPasses) |
| | Reserves enough memory for all passes.
|
| |
| void | setStartEnabled (bool enabled) |
| | Whether the node should be start as enabled when instantiated.
|
| |
| | TextureDefinitionBase (TextureSource defaultSource) |
| |
| void | addBufferDefinition (IdString name, size_t numElements, uint32 bytesPerElement, uint32 bindFlags, float widthFactor, float heightFactor) |
| | Creates an UAV buffer.
|
| |
| RenderTargetViewDef * | addRenderTextureView (IdString name) |
| |
| TextureDefinition * | addTextureDefinition (const String &name) |
| | Creates a TextureDefinition with a given name, must be unique.
|
| |
| const BufferDefinitionVec & | getLocalBufferDefinitions () const |
| |
| BufferDefinitionVec & | getLocalBufferDefinitionsNonConst () |
| | Returns the local buffer definitions.
|
| |
| const TextureDefinitionVec & | getLocalTextureDefinitions () const |
| |
| TextureDefinitionVec & | getLocalTextureDefinitionsNonConst () |
| | Returns the local texture definitions.
|
| |
| const NameToChannelMap & | getNameToChannelMap () const |
| |
| size_t | getNumInputBufferChannels () const |
| |
| size_t | getNumInputChannels () const |
| | This has O(N) complexity! (not cached, we look in mNameToChannelMap)
|
| |
| const RenderTargetViewDef * | getRenderTargetViewDef (IdString name) const |
| |
| RenderTargetViewDef * | getRenderTargetViewDefNonConstNoThrow (IdString name) |
| |
| void | getTextureSource (IdString name, size_t &index, TextureSource &textureSource) const |
| | Retrieves in which container to look for when looking to which texture is a given name associated with.
|
| |
| void | removeAllRenderTextureViews () |
| |
| virtual void | removeBuffer (IdString name) |
| | Remove a buffer. Buffer can come from an input channel, or a locally defined one.
|
| |
| void | removeRenderTextureView (IdString name) |
| |
| void | renameBuffer (IdString oldName, const String &newName) |
| | Changes the name of a buffer.
|
| |
| void | renameTexture (IdString oldName, const String &newName) |
| | Changes the name of a texture.
|
| |
| void | setNumLocalBufferDefinitions (size_t numTDs) |
| | Reserves enough memory for all texture definitions.
|
| |
| void | setNumLocalTextureDefinitions (size_t numTDs) |
| | Reserves enough memory for all texture definitions.
|
| |
|
| typedef vector< BufferDefinition >::type | BufferDefinitionVec |
| |
| typedef vector< PixelFormatGpu >::type | PixelFormatGpuVec |
| |
| typedef vector< TextureDefinition >::type | TextureDefinitionVec |
| |
| enum | TextureSource { TEXTURE_INPUT
, TEXTURE_LOCAL
, TEXTURE_GLOBAL
, NUM_TEXTURES_SOURCES
} |
| |
| static UavBufferPacked * | createBuffer (const BufferDefinition &bufferDef, const TextureGpu *finalTarget, VaoManager *vaoManager) |
| |
| static void | createBuffers (const BufferDefinitionVec &bufferDefs, CompositorNamedBufferVec &inOutBufContainer, const TextureGpu *finalTarget, RenderSystem *renderSys) |
| | Utility function to create the buffers based on a given set of buffer definitions and put them in a container.
|
| |
| static CompositorChannel | createTexture (const TextureDefinition &textureDef, const String &texName, const TextureGpu *finalTarget, RenderSystem *renderSys) |
| |
| static void | createTextures (const TextureDefinitionVec &textureDefs, CompositorChannelVec &inOutTexContainer, IdType id, const TextureGpu *finalTarget, RenderSystem *renderSys) |
| | Utility function to create the textures based on a given set of texture definitions and put them in a container.
|
| |
| static void | destroyBuffers (const BufferDefinitionVec &bufferDefs, CompositorNamedBufferVec &inOutBufContainer, RenderSystem *renderSys) |
| |
| static void | destroyTextures (CompositorChannelVec &inOutTexContainer, RenderSystem *renderSys) |
| |
| static void | recreateResizableBuffers (const BufferDefinitionVec &bufferDefs, CompositorNamedBufferVec &inOutBufContainer, const TextureGpu *finalTarget, RenderSystem *renderSys, const CompositorNodeVec &connectedNodes, const CompositorPassVec *passes) |
| | Destroys & recreates only the buffers that depend on the main RT (i.e.
|
| |
| static void | recreateResizableTextures01 (const TextureDefinitionVec &textureDefs, CompositorChannelVec &inOutTexContainer, const TextureGpu *finalTarget) |
| | Destroys & recreates only the textures that depend on the main RT (e.g.
|
| |
| static void | recreateResizableTextures02 (const TextureDefinitionVec &textureDefs, CompositorChannelVec &inOutTexContainer, const CompositorNodeVec &connectedNodes, const CompositorPassVec *passes) |
| | See recreateResizableTextures01 Updates involved RenderPassDescriptors.
|
| |
| static void | setupTexture (TextureGpu *tex, const TextureDefinition &textureDef, const TextureGpu *finalTarget) |
| |
| IdString | mCustomIdentifier |
| |
Shadow Nodes are special nodes (not to be confused with.
- See also
- CompositorNode) that are only used for rendering shadow maps. Normal Compositor Nodes can share or own a ShadowNode. The ShadowNode will render the scene enough times to fill all shadow maps so the main scene pass can use them.
- ShadowNode are very flexible compared to Ogre 1.x; as they allow mixing multiple shadow camera setups for different lights.
- Author
- Matias N. Goldberg
- Version
- 1.0