| OGRE 1.11.1 Object-Oriented Graphics Rendering Engine

Public Member Functions | Static Public Member Functions | List of all members
Ogre::GLSL::GLSLLinkProgramManager Class Reference

`#include <OgreGLSLLinkProgramManager.h>`

Inheritance diagram for Ogre::GLSL::GLSLLinkProgramManager:
[legend]

## Public Member Functions
| GLSLLinkProgramManager (void)
| ~GLSLLinkProgramManager (void)
void | destroyAllByShader (GLSLShaderCommon *shader)
| Destroy all programs which referencing this shader. More...
void | extractUniformsFromGLSL (const String &src, GpuNamedConstants &constantDefs, const String &filename)
| Populate a list of uniforms based on GLSL source and store them in GpuNamedConstants. More...
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. More...
void | setActiveFragmentShader (GLSLProgram *fragmentGpuProgram)
| Set the active fragment shader for the next rendering state. More...
void | setActiveGeometryShader (GLSLProgram *geometryGpuProgram)
| Set the active geometry shader for the next rendering state. More...
void | setActiveVertexShader (GLSLProgram *vertexGpuProgram)
| Set the active vertex shader for the next rendering state. More...

## Static Public Member Functions
static void | extractUniforms (GLhandleARB programObject, const GpuConstantDefinitionMap *vertexConstantDefs, const GpuConstantDefinitionMap *geometryConstantDefs, const GpuConstantDefinitionMap *fragmentConstantDefs, GLUniformReferenceList &list)
| Populate a list of uniforms based on a program object. More...
static GLSLLinkProgramManager & | getSingleton (void)
static GLSLLinkProgramManager * | getSingletonPtr (void)

## Constructor & Destructor Documentation

## ◆ GLSLLinkProgramManager()

Ogre::GLSL::GLSLLinkProgramManager::GLSLLinkProgramManager | ( | void |  | ) |

## ◆ ~GLSLLinkProgramManager()

Ogre::GLSL::GLSLLinkProgramManager::~GLSLLinkProgramManager | ( | void |  | ) |

## Member Function Documentation

## ◆ getActiveLinkProgram()

GLSLLinkProgram* Ogre::GLSL::GLSLLinkProgramManager::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.

## ◆ setActiveFragmentShader()

void Ogre::GLSL::GLSLLinkProgramManager::setActiveFragmentShader | ( | GLSLProgram * | fragmentGpuProgram | ) |

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

## ◆ setActiveGeometryShader()

void Ogre::GLSL::GLSLLinkProgramManager::setActiveGeometryShader | ( | GLSLProgram * | geometryGpuProgram | ) |

Set the active geometry shader for the next rendering state.

The active program object will be cleared. Normally called from the GLSLGpuProgram::bindProgram and unbindProgram methods

## ◆ setActiveVertexShader()

void Ogre::GLSL::GLSLLinkProgramManager::setActiveVertexShader | ( | GLSLProgram * | vertexGpuProgram | ) |

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

## ◆ extractUniforms()

static void Ogre::GLSL::GLSLLinkProgramManager::extractUniforms | ( | GLhandleARB | programObject,
|  | const GpuConstantDefinitionMap * | vertexConstantDefs,
|  | const GpuConstantDefinitionMap * | geometryConstantDefs,
|  | const GpuConstantDefinitionMap * | fragmentConstantDefs,
|  | GLUniformReferenceList & | list
| ) |  |
| static

Populate a list of uniforms based on a program object.

Parameters

  programObject | Handle to the program object to query
  vertexConstantDefs | Definition of the constants extracted from the vertex program, used to match up physical buffer indexes with program uniforms. May be null if there is no vertex program.
  geometryConstantDefs | Definition of the constants extracted from the geometry program, used to match up physical buffer indexes with program uniforms. May be null if there is no geometry program.
  fragmentConstantDefs | Definition of the constants extracted from the fragment program, used to match up physical buffer indexes with program uniforms. May be null if there is no fragment program.
  list | The list to populate (will not be cleared before adding, clear it yourself before calling this if that's what you want).

## ◆ getSingleton()

static GLSLLinkProgramManager& Ogre::GLSL::GLSLLinkProgramManager::getSingleton | ( | void |  | ) |
| static

## ◆ getSingletonPtr()

static GLSLLinkProgramManager* Ogre::GLSL::GLSLLinkProgramManager::getSingletonPtr | ( | void |  | ) |
| static

## ◆ extractUniformsFromGLSL()

void Ogre::GLSLProgramManagerCommon::extractUniformsFromGLSL | ( | const String & | src,
|  | GpuNamedConstants & | constantDefs,
|  | const String & | filename
| ) |  |
| inherited

Populate a list of uniforms based on GLSL source and store them in GpuNamedConstants.

Parameters

  src | Reference to the source code.
  constantDefs | The defs to populate (will not be cleared before adding, clear it yourself before calling this if that's what you want).
  filename | The file name this came from, for logging errors.

## ◆ destroyAllByShader()

void Ogre::GLSLProgramManagerCommon::destroyAllByShader | ( | GLSLShaderCommon * | shader | ) |
| inherited

Destroy all programs which referencing this shader.

The documentation for this class was generated from the following file:

- OgreGLSLLinkProgramManager.h