![]() |
OGRE
1.11.2
Object-Oriented Graphics Rendering Engine
|
C++ encapsulation of GLSL Program Object. More...
#include <OgreGLSLLinkProgram.h>
Inheritance diagram for Ogre::GLSL::GLSLLinkProgram:Public Member Functions | |
| GLSLLinkProgram (GLSLProgram *vertexProgram, GLSLProgram *geometryProgram, GLSLProgram *fragmentProgram) | |
| Constructor should only be used by GLSLLinkProgramManager. More... | |
| ~GLSLLinkProgram (void) | |
| void | activate (void) |
| Makes a program object active by making sure it is linked and then putting it in use. More... | |
| void | extractLayoutQualifiers (void) |
| GLhandleARB | getGLHandle (void) const |
| Get the GL Handle for the program object. More... | |
| uint | getGLProgramHandle (void) const |
| Get the GL Handle for the program object. More... | |
| bool | isAttributeValid (VertexElementSemantic semantic, uint index) |
| bool | isSkeletalAnimationIncluded (void) const |
| Returns whether the linked program includes the required instructions to perform skeletal animation. More... | |
| bool | isUsingShader (GLSLShaderCommon *shader) const |
| query if the program is using the given shader More... | |
| void | setSkeletalAnimationIncluded (bool included) |
| Sets whether the linked program includes the required instructions to perform skeletal animation. More... | |
| 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... | |
Static Public Member Functions | |
| static int32 | getFixedAttributeIndex (VertexElementSemantic semantic, uint index) |
| Get the fixed attribute bindings normally used by GL for a semantic. More... | |
| static void | useTightAttributeLayout () |
| use alternate vertex attribute layout using only 8 vertex attributes More... | |
C++ encapsulation of GLSL Program Object.
| Ogre::GLSL::GLSLLinkProgram::GLSLLinkProgram | ( | GLSLProgram * | vertexProgram, |
| GLSLProgram * | geometryProgram, | ||
| GLSLProgram * | fragmentProgram | ||
| ) |
Constructor should only be used by GLSLLinkProgramManager.
| Ogre::GLSL::GLSLLinkProgram::~GLSLLinkProgram | ( | void | ) |
|
virtual |
Makes a program object active by making sure it is linked and then putting it in use.
Implements Ogre::GLSLProgramCommon.
| bool Ogre::GLSL::GLSLLinkProgram::isAttributeValid | ( | VertexElementSemantic | semantic, |
| uint | index | ||
| ) |
|
virtual |
Updates program object uniforms using data from GpuProgramParameters.
normally called by GLSLGpuProgram::bindParameters() just before rendering occurs.
Implements Ogre::GLSLProgramCommon.
|
inlinevirtual |
Updates program object uniform blocks using data from GpuProgramParameters.
Normally called by GLSLShader::bindParameters() just before rendering occurs.
Implements Ogre::GLSLProgramCommon.
|
virtual |
Updates program object uniforms using data from pass iteration GpuProgramParameters.
normally called by GLSLGpuProgram::bindMultiPassParameters() just before multi pass rendering occurs.
Implements Ogre::GLSLProgramCommon.
|
inline |
Get the GL Handle for the program object.
|
inlinevirtual |
query if the program is using the given shader
Implements Ogre::GLSLProgramCommon.
|
inherited |
|
inlineinherited |
Sets whether the linked program includes the required instructions to perform skeletal animation.
|
inlineinherited |
Returns whether the linked program includes the required instructions to perform skeletal animation.
|
inlineinherited |
Get the GL Handle for the program object.
References OGRE_MAX_TEXTURE_COORD_SETS, and Ogre::VES_COUNT.
|
staticinherited |
Get the fixed attribute bindings normally used by GL for a semantic.
|
staticinherited |
use alternate vertex attribute layout using only 8 vertex attributes
For "Vivante GC1000" and "VideoCore IV" (notably in Raspberry Pi) on GLES2