5 #ifndef MERCATOR_SHADER_FACTORY_H
6 #define MERCATOR_SHADER_FACTORY_H
8 #include <Mercator/Shader.h>
62 #endif // MERCATOR_SHADER_FACTORY_H
static void del()
Delete the instance.
Definition: ShaderFactory.cpp:52
Interface for shader factory objects.
Definition: ShaderFactory.h:13
static ShaderFactories & instance()
Construct a singleton instance if required.
Definition: ShaderFactory.cpp:43
std::map< std::string, ShaderKit * > FactoryMap
STL map of shader factory pointers.
Definition: ShaderFactory.h:42
Shader * newShader(const std::string &type, const Shader::Parameters &) const
Create a shader of the specified type.
Definition: ShaderFactory.cpp:62
virtual Shader * newShader(const Shader::Parameters &) const
Create a new Shader instance.
Definition: ShaderFactory_impl.h:23
FactoryMap m_factories
Map of shader factory pointers keyed on type string.
Definition: ShaderFactory.h:45
Base class for Shader objects which create surface data for use when rendering terrain.
Definition: Shader.h:29
Factory template used to create ordinary shader objects.
Definition: ShaderFactory.h:27
virtual Shader * newShader(const Shader::Parameters &) const =0
Create a new Shader instance.
static ShaderFactories * m_instance
Pointer to the singleton instance of ShaderFactories.
Definition: ShaderFactory.h:48
Class which manages all the shader factories available.
Definition: ShaderFactory.h:39
std::map< std::string, float > Parameters
STL map of parameter values for a shader constructor.
Definition: Shader.h:63