28#ifndef __Compositor_H__
29#define __Compositor_H__
Base composition technique, can be subclassed in plugins.
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.
Resource()
Protected unnamed constructor to prevent default construction.
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.
SharedPtr< Texture > TexturePtr
unsigned long long int ResourceHandle
std::map< K, V, P, A > type