OGRE
1.11.6
Object-Oriented Graphics Rendering Engine
|
#include <OgreGLSLProgramCommon.h>
Public Member Functions | |
GLSLProgramCommon (GLSLShaderCommon *vertexShader) | |
virtual | ~GLSLProgramCommon () |
virtual void | activate (void)=0 |
Makes a program object active by making sure it is linked and then putting it in use. More... | |
void | extractLayoutQualifiers (void) |
uint | getGLProgramHandle (void) const |
Get the GL Handle for the program object. More... | |
bool | isSkeletalAnimationIncluded (void) const |
Returns whether the linked program includes the required instructions to perform skeletal animation. More... | |
virtual bool | isUsingShader (GLSLShaderCommon *shader) const =0 |
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... | |
virtual void | updatePassIterationUniforms (GpuProgramParametersSharedPtr params)=0 |
Updates program object uniforms using data from pass iteration GpuProgramParameters. More... | |
virtual void | updateUniformBlocks (GpuProgramParametersSharedPtr params, uint16 mask, GpuProgramType fromProgType)=0 |
Updates program object uniform blocks using data from GpuProgramParameters. More... | |
virtual void | updateUniforms (GpuProgramParametersSharedPtr params, uint16 mask, GpuProgramType fromProgType)=0 |
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... | |
Ogre::GLSLProgramCommon::GLSLProgramCommon | ( | GLSLShaderCommon * | vertexShader | ) |
|
inlinevirtual |
void Ogre::GLSLProgramCommon::extractLayoutQualifiers | ( | void | ) |
|
inline |
Sets whether the linked program includes the required instructions to perform skeletal animation.
|
inline |
Returns whether the linked program includes the required instructions to perform skeletal animation.
|
inline |
Get the GL Handle for the program object.
References OGRE_MAX_TEXTURE_COORD_SETS, and Ogre::VES_COUNT.
|
pure virtual |
Makes a program object active by making sure it is linked and then putting it in use.
Implemented in Ogre::GLSLSeparableProgram, Ogre::GLSLESProgramPipeline, Ogre::GLSL::GLSLLinkProgram, Ogre::GLSLMonolithicProgram, and Ogre::GLSLESLinkProgram.
|
pure virtual |
query if the program is using the given shader
Implemented in Ogre::GLSL::GLSLLinkProgram, Ogre::GLSLProgram, and Ogre::GLSLESProgramCommon.
|
pure virtual |
Updates program object uniforms using data from GpuProgramParameters.
Normally called by GLSLShader::bindParameters() just before rendering occurs.
Implemented in Ogre::GLSLSeparableProgram, Ogre::GLSL::GLSLLinkProgram, Ogre::GLSLMonolithicProgram, Ogre::GLSLESLinkProgram, and Ogre::GLSLESProgramPipeline.
|
pure virtual |
Updates program object uniform blocks using data from GpuProgramParameters.
Normally called by GLSLShader::bindParameters() just before rendering occurs.
Implemented in Ogre::GLSLSeparableProgram, Ogre::GLSL::GLSLLinkProgram, Ogre::GLSLMonolithicProgram, Ogre::GLSLESLinkProgram, and Ogre::GLSLESProgramPipeline.
|
pure virtual |
Updates program object uniforms using data from pass iteration GpuProgramParameters.
Normally called by GLSLShader::bindMultiPassParameters() just before multi pass rendering occurs.
Implemented in Ogre::GLSLSeparableProgram, Ogre::GLSL::GLSLLinkProgram, Ogre::GLSLMonolithicProgram, Ogre::GLSLESLinkProgram, and Ogre::GLSLESProgramPipeline.
|
static |
Get the fixed attribute bindings normally used by GL for a semantic.
|
static |
use alternate vertex attribute layout using only 8 vertex attributes
For "Vivante GC1000" and "VideoCore IV" (notably in Raspberry Pi) on GLES2