Go to the documentation of this file.
27 #ifndef _ShaderProgramManager_
28 #define _ShaderProgramManager_
void releasePrograms(Pass *pass, TargetRenderState *renderState)
Release CPU/GPU programs set associated with the given render state and pass.
GpuProgramsMap::const_iterator GpuProgramsMapConstIterator
void createDefaultProgramProcessors()
Create default program processors.
void createDefaultProgramWriterFactories()
Create default program processors.
Superclass for all objects that wish to use custom memory allocators when their new / delete operator...
void destroyDefaultProgramWriterFactories()
Destroy default program processors.
ProgramManager()
Class default constructor.
void flushGpuProgramsCache()
Flush the local GPU programs cache.
vector< ProgramWriterFactory * >::type ProgramWriterFactoryList
Container class for shader based programs.
vector< String >::type StringVector
size_t getFragmentShaderCount() const
Return the number of created fragment shaders.
GpuProgramsMap mFragmentShaderMap
Program * createCpuProgram(GpuProgramType type)
Create CPU program .
void synchronizePixelnToBeVertexOut(ProgramSet *programSet)
Fix the input of the pixel shader to be the same as the output of the vertex shader.
void acquirePrograms(Pass *pass, TargetRenderState *renderState)
Acquire CPU/GPU programs set associated with the given render state and bind them to the pass.
~ProgramManager()
Class destructor.
Base class interface for shader program writers.
ProgramProcessorMap mProgramProcessorsMap
Class defining a single pass of a Technique (of a Material), i.e.
GpuProgramsMap mVertexShaderMap
void flushGpuProgramsCache(GpuProgramsMap &gpuProgramsMap)
Flush the local GPU programs cache.
map< String, ProgramProcessor * >::type ProgramProcessorMap
String generateGUID(const String &programString)
Generates a unique guid value from a string.
GpuProgramType
Enumerates the types of programs which can run on the GPU.
void destroyDefaultProgramProcessors()
Destroy default program processors.
ProgramWriterMap mProgramWritersMap
void bindUniformParameters(Program *pCpuProgram, const GpuProgramParametersSharedPtr &passParams)
Bind the uniform parameters of a given CPU and GPU program set.
A class that represents a shader based program.
void addProgramProcessor(ProgramProcessor *processor)
Add program processor instance to this manager.
Template class for creating single-instance global classes.
set< Program * >::type ProgramList
GpuProgramPtr createGpuProgram(Program *shaderProgram, ProgramWriter *programWriter, const String &language, const String &profiles, const StringVector &profilesList, const String &cachePath)
Create GPU program based on the give CPU program.
static ProgramManager & getSingleton()
Override standard Singleton retrieval.
GpuProgramsMap::iterator GpuProgramsMapIterator
map< String, GpuProgramPtr >::type GpuProgramsMap
vector< ProgramProcessor * >::type ProgramProcessorList
ProgramWriterFactoryList mProgramWriterFactories
A class that provides extra processing services on CPU based programs.
A singleton manager class that manages shader based programs.
void destroyProgramWriters()
Destroy all program writers.
ProgramList mCpuProgramsList
size_t getVertexShaderCount() const
Return the number of created vertex shaders.
map< String, ProgramWriter * >::type ProgramWriterMap
ProgramProcessorList mDefaultProgramProcessors
void destroyCpuProgram(Program *shaderProgram)
Destroy a CPU program by name.
This is the target render state.
ProgramProcessorMap::iterator ProgramProcessorIterator
void destroyGpuProgram(GpuProgramPtr &gpuProgram)
Destroy a GPU program by name.
ProgramList::iterator ProgramListIterator
ProgramProcessorMap::const_iterator ProgramProcessorConstIterator
ProgramWriterMap::iterator ProgramWriterIterator
bool createGpuPrograms(ProgramSet *programSet)
Create GPU programs for the given program set based on the CPU programs it contains.
Shader generator system main interface.
void removeProgramProcessor(ProgramProcessor *processor)
Remove program processor instance from this manager.
static ProgramManager * getSingletonPtr()
Override standard Singleton retrieval.
Copyright © 2012 Torus Knot Software Ltd

This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.