28#ifndef __Compositor_H__
29#define __Compositor_H__
Base composition technique, can be subclassed in plugins.
Class representing a Compositor object.
Techniques mSupportedTechniques
vector< CompositionTechnique * >::type Techniques
Data types for internal lists.
map< String, TexturePtr >::type GlobalTextureMap
Map from name->local texture.
GlobalTextureMap mGlobalTextures
Compositor(ResourceManager *creator, const String &name, ResourceHandle handle, const String &group, bool isManual=false, ManualResourceLoader *loader=0)
size_t getNumSupportedTechniques()
Get the number of supported techniques.
TechniqueIterator getSupportedTechniqueIterator(void)
Gets an iterator over all the Techniques which are supported by the current card.
void removeAllTechniques()
Remove all techniques.
size_t getNumTechniques()
Get the number of techniques.
TechniqueIterator getTechniqueIterator(void)
Get an iterator over the Techniques in this compositor.
CompositionTechnique * getSupportedTechnique(size_t idx)
Get a supported technique.
void unloadImpl(void)
Internal implementation of the 'unload' action; called regardless of whether this resource is being l...
const String & getTextureInstanceName(const String &name, size_t mrtIndex)
Get the instance name for a global texture.
TexturePtr getTextureInstance(const String &name, size_t mrtIndex)
Get the instance of a global texture.
CompositionTechnique * getTechnique(size_t idx)
Get a technique.
void compile()
Check supportedness of techniques.
map< String, MultiRenderTarget * >::type GlobalMRTMap
Store a list of MRTs we've created.
void freeGlobalTextures()
Destroy global rendertextures.
void removeTechnique(size_t idx)
Remove a technique.
RenderTarget * getRenderTarget(const String &name)
Get the render target for a given render texture name.
void loadImpl(void)
Internal implementation of the meat of the 'load' action, only called if this resource is not being l...
void createGlobalTextures()
Create global rendertextures.
size_t calculateSize(void) const
Calculate the size of a resource; this will only be called after 'load'.
VectorIterator< Techniques > TechniqueIterator
CompositionTechnique * getSupportedTechnique(const String &schemeName=StringUtil::BLANK)
Get a pointer to a supported technique for a given scheme.
bool mCompilationRequired
Compilation required This is set if the techniques change and the supportedness of techniques has to ...
CompositionTechnique * createTechnique()
Create a new technique, and return a pointer to it.
Interface describing a manual resource loader.
A 'canvas' which can receive the results of a rendering operation.
Defines a generic resource handler.
Abstract class representing a loadable resource (e.g.
Concrete IteratorWrapper for nonconst access to the underlying container.
unsigned long long int ResourceHandle
std::map< K, V, P, A > type