| OGRE 1.10.8 Object-Oriented Graphics Rendering Engine

Public Member Functions | List of all members
Ogre::GLSLMonolithicProgram Class Reference

Model of OpenGL program object created using the glLinkProgram method of linking. More...

`#include <OgreGLSLMonolithicProgram.h>`

Inheritance diagram for Ogre::GLSLMonolithicProgram:
[legend]

## Public Member Functions
| GLSLMonolithicProgram (GLSLShader *vertexProgram, GLSLShader *hullProgram, GLSLShader *domainProgram, GLSLShader *geometryProgram, GLSLShader *fragmentProgram, GLSLShader *computeProgram)
| Constructor should only be used by GLSLMonolithicProgramManager. More...
| ~GLSLMonolithicProgram (void)
void | activate (void)
| Makes a program object active by making sure it is linked and then putting it in use. More...
void | bindFixedAttributes (GLuint program)
GLSLShader * | getComputeShader () const
GLSLShader * | getDomainShader () const
GLSLShader * | getFragmentShader () const
GLSLShader * | getGeometryShader () const
GLSLShader * | getHullShader () const
GLSLShader * | getVertexShader () const
void | setTransformFeedbackVaryings (const std::vector< String > &nameStrings)
void | updatePassIterationUniforms (GpuProgramParametersSharedPtr params)
| Updates program object uniforms using data from pass iteration GpuProgramParameters. More...
void | updateUniformBlocks (GpuProgramParametersSharedPtr params, uint16 mask, GpuProgramType fromProgType)
| Updates program object uniform blocks using data from GpuProgramParameters. More...
void | updateUniforms (GpuProgramParametersSharedPtr params, uint16 mask, GpuProgramType fromProgType)
| Updates program object uniforms using data from GpuProgramParameters. More...

## Detailed Description

Model of OpenGL program object created using the glLinkProgram method of linking.

Linking using glLinkProgram is supported by OpenGL 2.0 and up, but does not allow hot-swapping shaders without recompiling the program object like GLSLSeparableProgram can. Hence the name 'monolithic'.

## Constructor & Destructor Documentation

## ◆ GLSLMonolithicProgram()

Ogre::GLSLMonolithicProgram::GLSLMonolithicProgram | ( | GLSLShader * | vertexProgram,
|  | GLSLShader * | hullProgram,
|  | GLSLShader * | domainProgram,
|  | GLSLShader * | geometryProgram,
|  | GLSLShader * | fragmentProgram,
|  | GLSLShader * | computeProgram
| ) |  |

Constructor should only be used by GLSLMonolithicProgramManager.

## ◆ ~GLSLMonolithicProgram()

Ogre::GLSLMonolithicProgram::~GLSLMonolithicProgram | ( | void |  | ) |

## Member Function Documentation

## ◆ activate()

void Ogre::GLSLMonolithicProgram::activate | ( | void |  | ) |

Makes a program object active by making sure it is linked and then putting it in use.

## ◆ updateUniforms()

void Ogre::GLSLMonolithicProgram::updateUniforms | ( | GpuProgramParametersSharedPtr | params,
|  | uint16 | mask,
|  | GpuProgramType | fromProgType
| ) |  |

Updates program object uniforms using data from GpuProgramParameters.

normally called by GLSLShader::bindParameters() just before rendering occurs.

## ◆ updateUniformBlocks()

void Ogre::GLSLMonolithicProgram::updateUniformBlocks | ( | GpuProgramParametersSharedPtr | params,
|  | uint16 | mask,
|  | GpuProgramType | fromProgType
| ) |  |

Updates program object uniform blocks using data from GpuProgramParameters.

normally called by GLSLShader::bindParameters() just before rendering occurs.

## ◆ updatePassIterationUniforms()

void Ogre::GLSLMonolithicProgram::updatePassIterationUniforms | ( | GpuProgramParametersSharedPtr | params | ) |

Updates program object uniforms using data from pass iteration GpuProgramParameters.

normally called by GLSLShader::bindMultiPassParameters() just before multi pass rendering occurs.

## ◆ bindFixedAttributes()

void Ogre::GLSLProgram::bindFixedAttributes | ( | GLuint | program | ) |
| inherited

## ◆ getVertexShader()

GLSLShader* Ogre::GLSLProgram::getVertexShader | ( |  | ) | const
| inline inherited

## ◆ getHullShader()

GLSLShader* Ogre::GLSLProgram::getHullShader | ( |  | ) | const
| inline inherited

## ◆ getDomainShader()

GLSLShader* Ogre::GLSLProgram::getDomainShader | ( |  | ) | const
| inline inherited

## ◆ getGeometryShader()

GLSLShader* Ogre::GLSLProgram::getGeometryShader | ( |  | ) | const
| inline inherited

## ◆ getFragmentShader()

GLSLShader* Ogre::GLSLProgram::getFragmentShader | ( |  | ) | const
| inline inherited

## ◆ getComputeShader()

GLSLShader* Ogre::GLSLProgram::getComputeShader | ( |  | ) | const
| inline inherited

## ◆ setTransformFeedbackVaryings()

void Ogre::GLSLProgram::setTransformFeedbackVaryings | ( | const std::vector< String > & | nameStrings | ) |
| inherited

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

- OgreGLSLMonolithicProgram.h