|
OGRE
1.9.0
|
A singleton manager class that manages shader based programs. More...
#include <OgreShaderProgramManager.h>

Public Member Functions | |
| ProgramManager () | |
| Class default constructor. | |
| ~ProgramManager () | |
| Class destructor. | |
| void | acquirePrograms (Pass *pass, TargetRenderState *renderState) |
| Acquire CPU/GPU programs set associated with the given render state and bind them to the pass. | |
| void | flushGpuProgramsCache () |
| Flush the local GPU programs cache. | |
| void | operator delete (void *ptr) |
| void | operator delete (void *ptr) |
| void | operator delete (void *ptr, const char *, int, const char *) |
| void | operator delete (void *ptr, const char *, int, const char *) |
| void | operator delete (void *ptr, void *) |
| void | operator delete (void *ptr, void *) |
| void | operator delete[] (void *ptr) |
| void | operator delete[] (void *ptr) |
| void | operator delete[] (void *ptr, const char *, int, const char *) |
| void | operator delete[] (void *ptr, const char *, int, const char *) |
| void * | operator new (size_t sz) |
| void * | operator new (size_t sz) |
| void * | operator new (size_t sz, const char *file, int line, const char *func) |
| operator new, with debug line info | |
| void * | operator new (size_t sz, const char *file, int line, const char *func) |
| operator new, with debug line info | |
| void * | operator new (size_t sz, void *ptr) |
| placement operator new | |
| void * | operator new (size_t sz, void *ptr) |
| placement operator new | |
| void * | operator new[] (size_t sz) |
| void * | operator new[] (size_t sz) |
| void * | operator new[] (size_t sz, const char *file, int line, const char *func) |
| array operator new, with debug line info | |
| void * | operator new[] (size_t sz, const char *file, int line, const char *func) |
| array operator new, with debug line info | |
| void | releasePrograms (Pass *pass, TargetRenderState *renderState) |
| Release CPU/GPU programs set associated with the given render state and pass. | |
Static Public Member Functions | |
| static ProgramManager & | getSingleton () |
| Override standard Singleton retrieval. | |
| static ProgramManager * | getSingletonPtr () |
| Override standard Singleton retrieval. | |
Protected Types | |
| typedef map< String, GpuProgramPtr >::type | GpuProgramsMap |
| typedef GpuProgramsMap::const_iterator | GpuProgramsMapConstIterator |
| typedef GpuProgramsMap::iterator | GpuProgramsMapIterator |
| typedef set< Program * >::type | ProgramList |
| typedef ProgramList::iterator | ProgramListIterator |
| typedef ProgramProcessorMap::const_iterator | ProgramProcessorConstIterator |
| typedef ProgramProcessorMap::iterator | ProgramProcessorIterator |
| typedef vector< ProgramProcessor * >::type | ProgramProcessorList |
| typedef map< String, ProgramProcessor * >::type | ProgramProcessorMap |
| typedef vector< ProgramWriterFactory * >::type | ProgramWriterFactoryList |
| typedef ProgramWriterMap::iterator | ProgramWriterIterator |
| typedef map< String, ProgramWriter * >::type | ProgramWriterMap |
Protected Member Functions | |
| void | addProgramProcessor (ProgramProcessor *processor) |
| Add program processor instance to this manager. | |
| void | bindUniformParameters (Program *pCpuProgram, const GpuProgramParametersSharedPtr &passParams) |
| Bind the uniform parameters of a given CPU and GPU program set. | |
| Program * | createCpuProgram (GpuProgramType type) |
| Create CPU program . | |
| void | createDefaultProgramProcessors () |
| Create default program processors. | |
| void | createDefaultProgramWriterFactories () |
| Create default program processors. | |
| 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. | |
| bool | createGpuPrograms (ProgramSet *programSet) |
| Create GPU programs for the given program set based on the CPU programs it contains. | |
| void | destroyCpuProgram (Program *shaderProgram) |
| Destroy a CPU program by name. | |
| void | destroyDefaultProgramProcessors () |
| Destroy default program processors. | |
| void | destroyDefaultProgramWriterFactories () |
| Destroy default program processors. | |
| void | destroyGpuProgram (GpuProgramPtr &gpuProgram) |
| Destroy a GPU program by name. | |
| void | destroyProgramWriters () |
| Destroy all program writers. | |
| void | flushGpuProgramsCache (GpuProgramsMap &gpuProgramsMap) |
| Flush the local GPU programs cache. | |
| String | generateGUID (const String &programString) |
| Generates a unique guid value from a string. | |
| size_t | getFragmentShaderCount () const |
| Return the number of created fragment shaders. | |
| size_t | getVertexShaderCount () const |
| Return the number of created vertex shaders. | |
| void | removeProgramProcessor (ProgramProcessor *processor) |
| Remove program processor instance from this manager. | |
| void | synchronizePixelnToBeVertexOut (ProgramSet *programSet) |
| Fix the input of the pixel shader to be the same as the output of the vertex shader. | |
Static Protected Attributes | |
| static ProgramManager * | msSingleton |
Friends | |
| class | ProgramSet |
| class | ShaderGenerator |
| class | TargetRenderState |
A singleton manager class that manages shader based programs.
Definition at line 46 of file OgreShaderProgramManager.h.
|
protected |
Definition at line 111 of file OgreShaderProgramManager.h.
|
protected |
Definition at line 113 of file OgreShaderProgramManager.h.
|
protected |
Definition at line 112 of file OgreShaderProgramManager.h.
|
protected |
Definition at line 116 of file OgreShaderProgramManager.h.
|
protected |
Definition at line 117 of file OgreShaderProgramManager.h.
|
protected |
Definition at line 125 of file OgreShaderProgramManager.h.
|
protected |
Definition at line 124 of file OgreShaderProgramManager.h.
|
protected |
Definition at line 126 of file OgreShaderProgramManager.h.
|
protected |
Definition at line 123 of file OgreShaderProgramManager.h.
|
protected |
Definition at line 120 of file OgreShaderProgramManager.h.
|
protected |
Definition at line 119 of file OgreShaderProgramManager.h.
|
protected |
Definition at line 118 of file OgreShaderProgramManager.h.
| Ogre::RTShader::ProgramManager::ProgramManager | ( | ) |
Class default constructor.
Referenced by getSingleton(), and getSingletonPtr().
| Ogre::RTShader::ProgramManager::~ProgramManager | ( | ) |
Class destructor.
| void Ogre::RTShader::ProgramManager::acquirePrograms | ( | Pass * | pass, |
| TargetRenderState * | renderState ) |
Acquire CPU/GPU programs set associated with the given render state and bind them to the pass.
| pass | The pass to bind the programs to. |
| renderState | The render state that describes the program that need to be generated. |
References TargetRenderState.
|
protected |
Add program processor instance to this manager.
| processor | The instance to add. |
|
protected |
Bind the uniform parameters of a given CPU and GPU program set.
|
protected |
Create CPU program .
| type | The type of the program to create. |
|
protected |
Create default program processors.
|
protected |
Create default program processors.
|
protected |
Create GPU program based on the give CPU program.
| shaderProgram | The CPU program instance. |
| programWriter | The program writer instance. |
| language | The target shader language. |
| profiles | The profiles string for program compilation. |
| profilesList | The profiles string for program compilation as string list. |
| cachePath | The output path to write the program into. |
|
protected |
Create GPU programs for the given program set based on the CPU programs it contains.
| programSet | The program set container. |
References ProgramSet.
|
protected |
Destroy a CPU program by name.
| shaderProgram | The CPU program instance to destroy. |
|
protected |
Destroy default program processors.
|
protected |
Destroy default program processors.
|
protected |
Destroy a GPU program by name.
| gpuProgram | The program to destroy. |
|
protected |
Destroy all program writers.
| void Ogre::RTShader::ProgramManager::flushGpuProgramsCache | ( | ) |
Flush the local GPU programs cache.
|
protected |
Flush the local GPU programs cache.
| gpuProgramsMap | The GPU programs cache. |
Generates a unique guid value from a string.
| programString | string to generate a hash value for |
|
protected |
Return the number of created fragment shaders.
Definition at line 208 of file OgreShaderProgramManager.h.
References mFragmentShaderMap.
|
static |
Override standard Singleton retrieval.
References ProgramManager().
|
static |
Override standard Singleton retrieval.
References ProgramManager().
|
protected |
Return the number of created vertex shaders.
Definition at line 205 of file OgreShaderProgramManager.h.
References mVertexShaderMap.
|
inherited |
Definition at line 96 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 96 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 108 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 108 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 102 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 102 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 113 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 113 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 119 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 119 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 73 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 73 of file OgreMemoryAllocatedObject.h.
|
inherited |
operator new, with debug line info
Definition at line 68 of file OgreMemoryAllocatedObject.h.
|
inherited |
operator new, with debug line info
Definition at line 68 of file OgreMemoryAllocatedObject.h.
|
inherited |
placement operator new
Definition at line 79 of file OgreMemoryAllocatedObject.h.
|
inherited |
placement operator new
Definition at line 79 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 91 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 91 of file OgreMemoryAllocatedObject.h.
|
inherited |
array operator new, with debug line info
Definition at line 86 of file OgreMemoryAllocatedObject.h.
|
inherited |
array operator new, with debug line info
Definition at line 86 of file OgreMemoryAllocatedObject.h.
| void Ogre::RTShader::ProgramManager::releasePrograms | ( | Pass * | pass, |
| TargetRenderState * | renderState ) |
Release CPU/GPU programs set associated with the given render state and pass.
| pass | The pass to release the programs from. |
| renderState | The render state holds the programs. |
References TargetRenderState.
|
protected |
Remove program processor instance from this manager.
| processor | The instance to remove. |
|
protected |
Fix the input of the pixel shader to be the same as the output of the vertex shader.
References ProgramSet.
|
friend |
Definition at line 237 of file OgreShaderProgramManager.h.
References ProgramSet.
Referenced by createGpuPrograms(), ProgramSet, and synchronizePixelnToBeVertexOut().
|
friend |
Definition at line 239 of file OgreShaderProgramManager.h.
References ShaderGenerator.
Referenced by ShaderGenerator.
|
friend |
Definition at line 238 of file OgreShaderProgramManager.h.
References TargetRenderState.
Referenced by acquirePrograms(), releasePrograms(), and TargetRenderState.
|
protected |
Definition at line 222 of file OgreShaderProgramManager.h.
|
protected |
Definition at line 234 of file OgreShaderProgramManager.h.
|
protected |
Definition at line 232 of file OgreShaderProgramManager.h.
Referenced by getFragmentShaderCount().
|
protected |
Definition at line 226 of file OgreShaderProgramManager.h.
|
protected |
Definition at line 228 of file OgreShaderProgramManager.h.
|
protected |
Definition at line 224 of file OgreShaderProgramManager.h.
|
staticprotectedinherited |
Definition at line 75 of file OgreSingleton.h.
|
protected |
Definition at line 230 of file OgreShaderProgramManager.h.
Referenced by getVertexShaderCount().
1.13.2