27 #ifndef _ShaderProgramManager_ 28 #define _ShaderProgramManager_ 106 void flushGpuProgramsCache();
131 void createDefaultProgramProcessors();
134 void destroyDefaultProgramProcessors();
137 void createDefaultProgramWriterFactories();
140 void destroyDefaultProgramWriterFactories();
143 void destroyProgramWriters();
153 void destroyCpuProgram(
Program* shaderProgram);
158 bool createGpuPrograms(
ProgramSet* programSet);
202 void flushGpuProgramsCache(GpuProgramsMap& gpuProgramsMap);
211 void synchronizePixelnToBeVertexOut(
ProgramSet* programSet);
Class defining a single pass of a Technique (of a Material), i.e.
ProgramList mCpuProgramsList
ProgramWriterFactoryList mProgramWriterFactories
This is the target render state.
ProgramProcessorList mDefaultProgramProcessors
size_t getVertexShaderCount() const
Return the number of created vertex shaders.
ProgramList::iterator ProgramListIterator
vector< String >::type StringVector
Shader generator system main interface.
map< String, GpuProgramPtr >::type GpuProgramsMap
Base class interface for shader program writers.
map< String, ProgramWriter * >::type ProgramWriterMap
Container class for shader based programs.
ProgramProcessorMap::iterator ProgramProcessorIterator
ProgramProcessorMap::const_iterator ProgramProcessorConstIterator
ProgramWriterMap::iterator ProgramWriterIterator
A class that represents a shader based program.
A singleton manager class that manages shader based programs.
GpuProgramsMap::const_iterator GpuProgramsMapConstIterator
GpuProgramType
Enumerates the types of programs which can run on the GPU.
A class that provides extra processing services on CPU based programs.
vector< ProgramWriterFactory * >::type ProgramWriterFactoryList
size_t getFragmentShaderCount() const
Return the number of created fragment shaders.
map< String, ProgramProcessor * >::type ProgramProcessorMap
GpuProgramsMap mFragmentShaderMap
ProgramProcessorMap mProgramProcessorsMap
Template class for creating single-instance global classes.
ProgramWriterMap mProgramWritersMap
set< Program * >::type ProgramList
GpuProgramsMap mVertexShaderMap
GpuProgramsMap::iterator GpuProgramsMapIterator
Superclass for all objects that wish to use custom memory allocators when their new / delete operator...
vector< ProgramProcessor * >::type ProgramProcessorList