28 #ifndef __Compositor_H__
29 #define __Compositor_H__
Base composition technique, can be subclassed in plugins.
Class representing a Compositor object.
Techniques mSupportedTechniques
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 * createTechnique()
Create a new technique, and return a pointer to it.
const String & getTextureInstanceName(const String &name, size_t mrtIndex)
Get the instance name for a global texture.
void unloadImpl(void)
Internal implementation of the 'unload' action; called regardless of whether this resource is being l...
TexturePtr getTextureInstance(const String &name, size_t mrtIndex)
Get the instance of a global texture.
void compile()
Check supportedness of techniques.
map< String, MultiRenderTarget * >::type GlobalMRTMap
Store a list of MRTs we've created.
void freeGlobalTextures()
Destroy global rendertextures.
CompositionTechnique * getSupportedTechnique(size_t idx)
Get a supported technique.
void removeTechnique(size_t idx)
Remove a technique.
CompositionTechnique * getSupportedTechnique(const String &schemeName=StringUtil::BLANK)
Get a pointer to a supported technique for a given scheme.
void loadImpl(void)
Internal implementation of the meat of the 'load' action, only called if this resource is not being l...
vector< CompositionTechnique * >::type Techniques
Data types for internal lists.
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
RenderTarget * getRenderTarget(const String &name)
Get the render target for a given render texture name.
CompositionTechnique * getTechnique(size_t idx)
Get a technique.
bool mCompilationRequired
Compilation required This is set if the techniques change and the supportedness of techniques has to ...
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.
static const String BLANK
Constant blank string, useful for returning by ref where local does not exist.
Concrete IteratorWrapper for nonconst access to the underlying container.
unsigned long long int ResourceHandle