|
| 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. More...
|
|
void | addBufferInput (size_t inputChannel, IdString name) override |
| Buffers. More...
|
|
ShadowTextureDefinition * | addShadowTextureDefinition (size_t lightIdx, size_t split, const String &name, const Vector2 &uvOffset, const Vector2 &uvLength, uint8 arrayIdx) |
| Adds a new ShadowTexture definition. More...
|
|
IdString | addTextureSourceName (const String &name, size_t index, TextureSource textureSource) override |
| Overloaded to prevent creating input channels. More...
|
|
size_t | getNumShadowTextureDefinitions () const |
| Gets the number of shadow texture definitions in this node. More...
|
|
const ShadowTextureDefinition * | getShadowTextureDefinition (size_t texIndex) const |
| Retrieves a shadow texture definition by its index. More...
|
|
ShadowTextureDefinition * | getShadowTextureDefinitionNonConst (size_t texIndex) |
|
void | postInitializePassDef (CompositorPassDef *passDef) override |
| Called right after we create a pass definition. More...
|
|
void | setDefaultTechnique (ShadowMapTechniques techn) |
|
void | setNumShadowTextureDefinitions (size_t numTex) |
| Reserves enough memory for all texture definitions. More...
|
|
| CompositorNodeDef (const String &name, CompositorManager2 *compositorManager) |
|
virtual | ~CompositorNodeDef () |
|
CompositorTargetDef * | addTargetPass (const String &renderTargetName, uint32 rtIndex=0) |
| Adds a new Target pass. More...
|
|
size_t | calculateNumPasses () const |
| Calculates the total number of passes in this node. More...
|
|
CompositorManager2 * | getCompositorManager () const |
|
IdString | getName () const |
|
String | getNameStr () const |
|
size_t | getNumOutputChannels () const |
| Returns the number of output channels. More...
|
|
size_t | getNumTargetPasses () const |
| Gets the number of target passes in this node. More...
|
|
size_t | getPassNumber (const CompositorPassDef *passDef) const |
| Returns the pass # of the given pass definition in this node. More...
|
|
bool | getStartEnabled () const |
|
CompositorTargetDef * | getTargetPass (size_t passIndex) |
| Retrieves an existing pass by it's given index. More...
|
|
void | getTextureSource (IdString name, size_t &index, TextureSource &textureSource) const |
| See http://www.research.att.com/~bs/bs_faq2.html#overloadderived. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
void | removeTexture (IdString name) override |
| WARNING: Be very careful with this function. More...
|
|
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) More...
|
|
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) More...
|
|
void | setNumTargetPass (size_t numPasses) |
| Reserves enough memory for all passes. More...
|
|
void | setStartEnabled (bool enabled) |
| Whether the node should be start as enabled when instantiated. More...
|
|
| TextureDefinitionBase (TextureSource defaultSource) |
|
void | addBufferDefinition (IdString name, size_t numElements, uint32 bytesPerElement, uint32 bindFlags, float widthFactor, float heightFactor) |
| Creates an UAV buffer. More...
|
|
RenderTargetViewDef * | addRenderTextureView (IdString name) |
|
TextureDefinition * | addTextureDefinition (const String &name) |
| Creates a TextureDefinition with a given name, must be unique. More...
|
|
const BufferDefinitionVec & | getLocalBufferDefinitions () const |
|
BufferDefinitionVec & | getLocalBufferDefinitionsNonConst () |
| Returns the local buffer definitions. More...
|
|
const TextureDefinitionVec & | getLocalTextureDefinitions () const |
|
TextureDefinitionVec & | getLocalTextureDefinitionsNonConst () |
| Returns the local texture definitions. More...
|
|
const NameToChannelMap & | getNameToChannelMap () const |
|
size_t | getNumInputBufferChannels () const |
|
size_t | getNumInputChannels () const |
| This has O(N) complexity! (not cached, we look in mNameToChannelMap) More...
|
|
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. More...
|
|
void | removeAllRenderTextureViews () |
|
virtual void | removeBuffer (IdString name) |
| Remove a buffer. Buffer can come from an input channel, or a locally defined one. More...
|
|
void | removeRenderTextureView (IdString name) |
|
void | renameBuffer (IdString oldName, const String &newName) |
| Changes the name of a buffer. More...
|
|
void | renameTexture (IdString oldName, const String &newName) |
| Changes the name of a texture. More...
|
|
void | setNumLocalBufferDefinitions (size_t numTDs) |
| Reserves enough memory for all texture definitions. More...
|
|
void | setNumLocalTextureDefinitions (size_t numTDs) |
| Reserves enough memory for all texture definitions. More...
|
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
static void | recreateResizableTextures01 (const TextureDefinitionVec &textureDefs, CompositorChannelVec &inOutTexContainer, const TextureGpu *finalTarget) |
| Destroys & recreates only the textures that depend on the main RT (e.g. More...
|
|
static void | recreateResizableTextures02 (const TextureDefinitionVec &textureDefs, CompositorChannelVec &inOutTexContainer, const CompositorNodeVec &connectedNodes, const CompositorPassVec *passes) |
| See recreateResizableTextures01 Updates involved RenderPassDescriptors. More...
|
|
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