#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
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sun Mar 12 14:54:16 2006