|
| TextureDefinitionBase (TextureSource defaultSource) |
|
void | addBufferDefinition (IdString name, size_t numElements, uint32 bytesPerElement, uint32 bindFlags, float widthFactor, float heightFactor) |
| Creates an UAV buffer. More...
|
|
virtual void | addBufferInput (size_t inputChannel, IdString name) |
| Buffers. More...
|
|
RenderTargetViewDef * | addRenderTextureView (IdString name) |
|
TextureDefinition * | addTextureDefinition (const String &name) |
| Creates a TextureDefinition with a given name, must be unique. More...
|
|
virtual IdString | addTextureSourceName (const String &name, size_t index, TextureSource textureSource) |
| Adds a texture name, whether a real one or an alias, and where to grab it from. More...
|
|
const BufferDefinitionVec & | getLocalBufferDefinitions (void) const |
|
BufferDefinitionVec & | getLocalBufferDefinitionsNonConst (void) |
| Returns the local buffer definitions. More...
|
|
const TextureDefinitionVec & | getLocalTextureDefinitions (void) const |
|
TextureDefinitionVec & | getLocalTextureDefinitionsNonConst (void) |
| Returns the local texture definitions. More...
|
|
const NameToChannelMap & | getNameToChannelMap (void) const |
|
size_t | getNumInputBufferChannels (void) const |
|
size_t | getNumInputChannels (void) 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 | operator delete (void *ptr) |
|
void | operator delete (void *ptr, const char *, int, const char *) |
|
void | operator delete (void *ptr, void *) |
|
void | operator delete[] (void *ptr) |
|
void | operator delete[] (void *ptr, const char *, int, const char *) |
|
void * | operator new (size_t sz) |
|
void * | operator new (size_t sz, const char *file, int line, const char *func) |
| operator new, with debug line info More...
|
|
void * | operator new (size_t sz, void *ptr) |
| placement operator new More...
|
|
void * | operator new[] (size_t sz) |
|
void * | operator new[] (size_t sz, const char *file, int line, const char *func) |
| array operator new, with debug line info More...
|
|
virtual void | removeBuffer (IdString name) |
| Remove a buffer. Buffer can come from an input channel, or a locally defined one. More...
|
|
virtual void | removeTexture (IdString name) |
| WARNING: Be very careful with this function. More...
|
|
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...
|
|
|
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) |
| @See createTextures More...
|
|
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) |
|
Centralized class for dealing with declarations of textures in Node & Workspace definitions.
Note that shadow nodes use their own system
- Author
- Matias N. Goldberg
- Version
- 1.0
Adds a texture name, whether a real one or an alias, and where to grab it from.
- This is a generic way to add input channels, by calling:
addTextureSourceName( "myRT", 0, TextureDefinitionBase::TEXTURE_INPUT );
You're assigning an alias named "myRT" to channel Input #0 For local or global textures, the index parameter documentation
- Parameters
-
fullName | The name of the texture. Names are usually valid only throughout this node. We need the name, not its hash because we need to validate the global_ prefix is used correctly. |
index | Index in the container where the texture is located, eg. this->mLocalTextureDefs[index] for local textures, workspace->mLocalTextureDefs[index] for global textures, and this->mInTextures[index] for input channels. |
textureSource | Source where the index must be used (eg. TEXTURE_LOCAL means mLocalTextureDefs) |
- Returns
- IdString of the fullName paremeter, for convenience
Reimplemented in Ogre::CompositorShadowNodeDef.
virtual void Ogre::TextureDefinitionBase::removeTexture |
( |
IdString |
name | ) |
|
|
virtual |
WARNING: Be very careful with this function.
Removes a texture. If the texture is from an input channel (TEXTURE_INPUT), the input channel is removed. If the texture is a local definition (TEXTURE_LOCAL) the texture definition is removed and all the references to mLocalTextureDefs[i+1] ... mLocalTextureDefs[i+n] are updated. However, the output channels will now contain an invalid index and will only be removed if it was the last output channel (since we can't alter the order). It is your responsability to call CompositorNodeDef::mapOutputChannel again with a valid texture name to the channel it was occupying. If the texture is a global texture (TEXTURE_GLOBAL), the global texture can no longer be accessed until addTextureSourceName( name, 0, TEXTURE_GLOBAL ) is called again.
- Parameters
-
name | Name of the texture to remove. |
Reimplemented in Ogre::CompositorNodeDef.