![]() |
OGRE
1.10.5
Object-Oriented Graphics Rendering Engine
|
Model of OpenGL program object created using the glLinkProgram method of linking. More...
#include <OgreGLSLMonolithicProgram.h>
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... | |
virtual GLint | getAttributeIndex (VertexElementSemantic semantic, uint index) |
Get the index of a non-standard attribute bound in the linked code. More... | |
GLSLShader * | getComputeShader () const |
GLSLShader * | getDomainShader () const |
GLSLShader * | getFragmentShader () const |
GLSLShader * | getGeometryShader () const |
GLSLShader * | getHullShader () const |
GL3PlusVertexArrayObject * | getVertexArrayObject () |
GLSLShader * | getVertexShader () const |
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... | |
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'.
Ogre::GLSLMonolithicProgram::GLSLMonolithicProgram | ( | GLSLShader * | vertexProgram, |
GLSLShader * | hullProgram, | ||
GLSLShader * | domainProgram, | ||
GLSLShader * | geometryProgram, | ||
GLSLShader * | fragmentProgram, | ||
GLSLShader * | computeProgram | ||
) |
Constructor should only be used by GLSLMonolithicProgramManager.
Ogre::GLSLMonolithicProgram::~GLSLMonolithicProgram | ( | void | ) |
void Ogre::GLSLMonolithicProgram::activate | ( | void | ) |
Makes a program object active by making sure it is linked and then putting it in use.
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.
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.
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.
|
virtualinherited |
Get the index of a non-standard attribute bound in the linked code.
Reimplemented in Ogre::GLSLSeparableProgram.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |