#include <OgreGLSLLinkProgramManager.h>
Inheritance diagram for Ogre::GLSLLinkProgramManager:

Public Member Functions | |
| GLSLLinkProgramManager (void) | |
| ~GLSLLinkProgramManager (void) | |
| GLSLLinkProgram * | getActiveLinkProgram (void) |
| Get the program object that links the two active shader objects together if a program object was not already created and linked a new one is created and linked. | |
| void | setActiveFragmentShader (GLSLGpuProgram *fragmentGpuProgram) |
| Set the active fragment shader for the next rendering state. | |
| void | setActiveVertexShader (GLSLGpuProgram *vertexGpuProgram) |
| Set the active vertex shader for the next rendering state. | |
Static Public Member Functions | |
| GLSLLinkProgramManager & | getSingleton (void) |
| GLSLLinkProgramManager * | getSingletonPtr (void) |
Static Protected Attributes | |
| GLSLLinkProgramManager * | ms_Singleton |
Private Types | |
| typedef HashMap< GLuint, GLSLLinkProgram * > | LinkProgramMap |
| typedef LinkProgramMap::iterator | LinkProgramIterator |
Private Attributes | |
| LinkProgramMap | LinkPrograms |
| container holding previously created program objects | |
| GLSLGpuProgram * | mActiveVertexGpuProgram |
| active objects defining the active rendering gpu state | |
| GLSLGpuProgram * | mActiveFragmentGpuProgram |
| GLSLLinkProgram * | mActiveLinkProgram |
GLSL Vertex and fragment shader objects are compiled seperately and then attached to a program object and then the program object is linked. Since Ogre can only handle one vertex program and one fragment program being active in a pass, the GLSL Link Program Manager does the same. The GLSL Link program manager acts as a state machine and activates a program object based on the active vertex and fragment program. Previously created program objects are stored along with a unique key in a hash_map for quick retrieval the next time the program object is required.
Definition at line 47 of file OgreGLSLLinkProgramManager.h.
|
|
Definition at line 53 of file OgreGLSLLinkProgramManager.h. |
|
|
Definition at line 52 of file OgreGLSLLinkProgramManager.h. |
|
|
|
|
|
|
|
|
Get the program object that links the two active shader objects together if a program object was not already created and linked a new one is created and linked.
|
|
|
Reimplemented from Ogre::Singleton< GLSLLinkProgramManager >. |
|
|
Reimplemented from Ogre::Singleton< GLSLLinkProgramManager >. |
|
|
Set the active fragment shader for the next rendering state. The active program object will be cleared. Normally called from the GLSLGpuProgram::bindProgram and unbindProgram methods |
|
|
Set the active vertex shader for the next rendering state. The active program object will be cleared. Normally called from the GLSLGpuProgram::bindProgram and unbindProgram methods |
|
|
container holding previously created program objects
Definition at line 56 of file OgreGLSLLinkProgramManager.h. |
|
|
Definition at line 60 of file OgreGLSLLinkProgramManager.h. |
|
|
Definition at line 61 of file OgreGLSLLinkProgramManager.h. |
|
|
active objects defining the active rendering gpu state
Definition at line 59 of file OgreGLSLLinkProgramManager.h. |
|
|
Definition at line 54 of file OgreSingleton.h. |
Copyright © 2000-2005 by The OGRE Team
Last modified Sun Nov 20 12:47:37 2005