C++ encapsulation of GLSL ES Program Object. More...
#include <OgreGLSLESProgramCommon.h>

Public Member Functions | |
| GLSLESProgramCommon (GLSLESGpuProgram *vertexProgram, GLSLESGpuProgram *fragmentProgram) | |
| Constructor should only be used by GLSLESLinkProgramManager and GLSLESProgramPipelineManager. More... | |
| virtual | ~GLSLESProgramCommon (void) |
| virtual void | activate (void)=0 |
| 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... | |
| GLSLESGpuProgram * | getFragmentProgram (void) const |
| GLuint | getGLProgramHandle (void) const |
| Get the GL Handle for the program object. More... | |
| GLES2UniformCache * | getUniformCache (void) |
| GLSLESGpuProgram * | getVertexProgram (void) const |
| bool | isAttributeValid (VertexElementSemantic semantic, uint index) |
| Is a non-standard attribute bound in the linked code? More... | |
| bool | isSkeletalAnimationIncluded (void) const |
| Returns whether the linked program includes the required instructions to perform skeletal animation. 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... | |
Protected Types | |
| typedef set< GLuint >::type | AttributeSet |
| typedef map< String, VertexElementSemantic >::type | SemanticToStringMap |
Protected Member Functions | |
| virtual void | _useProgram (void)=0 |
| Put a program in use. More... | |
| void | buildGLUniformReferences (void) |
| Build uniform references from active named uniforms. More... | |
| virtual void | compileAndLink (void)=0 |
| Compiles and links the vertex and fragment programs. More... | |
| VertexElementSemantic | getAttributeSemanticEnum (String type) |
| const char * | getAttributeSemanticString (VertexElementSemantic semantic) |
| Ogre::String | getCombinedName (void) |
| void | getMicrocodeFromCache (void) |
| Get the the binary data of a program from the microcode cache. More... | |
Protected Attributes | |
| GLint | mCustomAttributesIndexes [VES_COUNT][OGRE_MAX_TEXTURE_COORD_SETS] |
| An array to hold the attributes indexes. More... | |
| GLSLESGpuProgram * | mFragmentProgram |
| Linked fragment program. More... | |
| GLuint | mGLProgramHandle |
| GL handle for the program object. More... | |
| GLUniformBufferList | mGLUniformBufferReferences |
| Container of uniform buffer references that are active in the program object. More... | |
| GLUniformReferenceList | mGLUniformReferences |
| Container of uniform references that are active in the program object. More... | |
| GLint | mLinked |
| Flag indicating that the program or pipeline object has been successfully linked. More... | |
| SemanticToStringMap | mSemanticTypeMap |
| bool | mSkeletalAnimation |
| Flag indicating skeletal animation is being performed. More... | |
| bool | mTriedToLinkAndFailed |
| Flag indicating that the program or pipeline object has tried to link and failed. More... | |
| GLES2UniformCache * | mUniformCache |
| bool | mUniformRefsBuilt |
| Flag to indicate that uniform references have already been built. More... | |
| GLSLESGpuProgram * | mVertexProgram |
| Linked vertex program. More... | |
C++ encapsulation of GLSL ES Program Object.
Definition at line 62 of file OgreGLSLESProgramCommon.h.
|
protected |
Definition at line 88 of file OgreGLSLESProgramCommon.h.
|
protected |
Definition at line 105 of file OgreGLSLESProgramCommon.h.
| Ogre::GLSLESProgramCommon::GLSLESProgramCommon | ( | GLSLESGpuProgram * | vertexProgram, |
| GLSLESGpuProgram * | fragmentProgram | ||
| ) |
Constructor should only be used by GLSLESLinkProgramManager and GLSLESProgramPipelineManager.
|
virtual |
|
protectedpure virtual |
Put a program in use.
Implemented in Ogre::GLSLESProgramPipeline.
|
pure virtual |
Makes a program object active by making sure it is linked and then putting it in use.
Implemented in Ogre::GLSLESProgramPipeline.
|
protected |
Build uniform references from active named uniforms.
|
protectedpure virtual |
Compiles and links the vertex and fragment programs.
Implemented in Ogre::GLSLESProgramPipeline.
|
virtual |
Get the index of a non-standard attribute bound in the linked code.
Reimplemented in Ogre::GLSLESProgramPipeline.
|
protected |
|
protected |
|
protected |
| GLSLESGpuProgram* Ogre::GLSLESProgramCommon::getFragmentProgram | ( | void | ) | const |
Definition at line 156 of file OgreGLSLESProgramCommon.h.
| GLuint Ogre::GLSLESProgramCommon::getGLProgramHandle | ( | void | ) | const |
Get the GL Handle for the program object.
Definition at line 133 of file OgreGLSLESProgramCommon.h.
|
protected |
Get the the binary data of a program from the microcode cache.
| GLES2UniformCache* Ogre::GLSLESProgramCommon::getUniformCache | ( | void | ) |
Definition at line 157 of file OgreGLSLESProgramCommon.h.
| GLSLESGpuProgram* Ogre::GLSLESProgramCommon::getVertexProgram | ( | void | ) | const |
Definition at line 155 of file OgreGLSLESProgramCommon.h.
| bool Ogre::GLSLESProgramCommon::isAttributeValid | ( | VertexElementSemantic | semantic, |
| uint | index | ||
| ) |
Is a non-standard attribute bound in the linked code?
| bool Ogre::GLSLESProgramCommon::isSkeletalAnimationIncluded | ( | void | ) | const |
Returns whether the linked program includes the required instructions to perform skeletal animation.
Definition at line 148 of file OgreGLSLESProgramCommon.h.
| void Ogre::GLSLESProgramCommon::setSkeletalAnimationIncluded | ( | bool | included | ) |
Sets whether the linked program includes the required instructions to perform skeletal animation.
Definition at line 140 of file OgreGLSLESProgramCommon.h.
|
pure virtual |
Updates program object uniforms using data from pass iteration GpuProgramParameters.
normally called by GLSLESGpuProgram::bindMultiPassParameters() just before multi pass rendering occurs.
Implemented in Ogre::GLSLESProgramPipeline.
|
pure virtual |
Updates program object uniform blocks using data from GpuProgramParameters.
normally called by GLSLGpuProgram::bindParameters() just before rendering occurs.
Implemented in Ogre::GLSLESProgramPipeline.
|
pure virtual |
Updates program object uniforms using data from GpuProgramParameters.
normally called by GLSLESGpuProgram::bindParameters() just before rendering occurs.
Implemented in Ogre::GLSLESProgramPipeline.
|
protected |
An array to hold the attributes indexes.
Definition at line 91 of file OgreGLSLESProgramCommon.h.
|
protected |
Linked fragment program.
Definition at line 73 of file OgreGLSLESProgramCommon.h.
|
protected |
GL handle for the program object.
Definition at line 78 of file OgreGLSLESProgramCommon.h.
|
protected |
Container of uniform buffer references that are active in the program object.
Definition at line 68 of file OgreGLSLESProgramCommon.h.
|
protected |
Container of uniform references that are active in the program object.
Definition at line 66 of file OgreGLSLESProgramCommon.h.
|
protected |
Flag indicating that the program or pipeline object has been successfully linked.
Definition at line 80 of file OgreGLSLESProgramCommon.h.
|
protected |
Definition at line 106 of file OgreGLSLESProgramCommon.h.
|
protected |
Flag indicating skeletal animation is being performed.
Definition at line 84 of file OgreGLSLESProgramCommon.h.
|
protected |
Flag indicating that the program or pipeline object has tried to link and failed.
Definition at line 82 of file OgreGLSLESProgramCommon.h.
|
protected |
Definition at line 74 of file OgreGLSLESProgramCommon.h.
|
protected |
Flag to indicate that uniform references have already been built.
Definition at line 76 of file OgreGLSLESProgramCommon.h.
|
protected |
Linked vertex program.
Definition at line 71 of file OgreGLSLESProgramCommon.h.
Copyright © 2012 Torus Knot Software Ltd

This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Last modified Fri Feb 15 2019 14:33:40