OGRE-Next: Ogre::GLSLMonolithicProgram Class Reference

| OGRE-Next 3.0.0 Object-Oriented Graphics Rendering Engine

Loading...
Searching...
No Matches
Public Member Functions | List of all members
Ogre::GLSLMonolithicProgram Class Referencefinal

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.
| ~GLSLMonolithicProgram () override
void | activate () override
| Makes a program object active by making sure it is linked and then putting it in use.
void | updatePassIterationUniforms (GpuProgramParametersSharedPtr params) override
| Updates program object uniforms using data from pass iteration GpuProgramParameters.
void | updateUniforms (GpuProgramParametersSharedPtr params, uint16 mask, GpuProgramType fromProgType) override
| Updates program object uniforms using data from GpuProgramParameters.
Public Member Functions inherited from Ogre::GLSLProgram
| GLSLProgram (GLSLShader *vertexProgram, GLSLShader *hullProgram, GLSLShader *domainProgram, GLSLShader *geometryProgram, GLSLShader *fragmentProgram, GLSLShader *computeProgram)
| Constructor should only be used by GLSLMonolithicProgramManager and GLSLSeparableProgramManager.
virtual | ~GLSLProgram ()
virtual void | extractLayoutQualifiers ()
| Finds layout qualifiers in the shader source and sets attribute indices appropriately.
virtual GLint | getAttributeIndex (VertexElementSemantic semantic, uint index)
| Get the index of a non-standard attribute bound in the linked code.
GLSLShader * | getComputeShader () const
GLSLShader * | getDomainShader () const
GLSLShader * | getFragmentShader () const
GLSLShader * | getGeometryShader () const
GLuint | getGLProgramHandle () const
| Get the GL Handle for the program object.
GLSLShader * | getHullShader () const
GL3PlusOldVertexArrayObject * | getVertexArrayObject ()
GLSLShader * | getVertexShader () const
bool | isAttributeValid (VertexElementSemantic semantic, uint index)
| Is a non-standard attribute bound in the linked code?
bool | isSkeletalAnimationIncluded () const
| Returns whether the linked program includes the required instructions to perform skeletal animation.
void | setSkeletalAnimationIncluded (bool included)
| Sets whether the linked program includes the required instructions to perform skeletal animation.

## Additional Inherited Members
Public Attributes inherited from Ogre::GLSLProgram
GLint | mBaseInstanceLocation

## 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 | ( |  | ) |
| override

## Member Function Documentation

## ◆ activate()

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

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

Implements Ogre::GLSLProgram.

## ◆ updatePassIterationUniforms()

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

Updates program object uniforms using data from pass iteration GpuProgramParameters.

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

Implements Ogre::GLSLProgram.

## ◆ updateUniforms()

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

Updates program object uniforms using data from GpuProgramParameters.

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

Implements Ogre::GLSLProgram.

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

- OgreGLSLMonolithicProgram.h