C++ encapsulation of GLSL Program Object.
More...
#include <OgreGLSLLinkProgram.h>
|
| GLSLLinkProgram (GLSLGpuProgram *vertexProgram, GLSLGpuProgram *geometryProgram, GLSLGpuProgram *fragmentProgram, GLSLGpuProgram *hullProgram, GLSLGpuProgram *domainProgram, GLSLGpuProgram *computeProgram) |
| 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...
|
|
virtual void | extractLayoutQualifiers (void) |
| Finds layout qualifiers in the shader source and sets attribute indices appropriately. More...
|
|
virtual GLint | getAttributeIndex (VertexElementSemantic semantic, uint index) |
| Get the index of a non-standard attribute bound in the linked code. More...
|
|
GLSLGpuProgram * | getComputeProgram () const |
|
GLSLGpuProgram * | getDomainProgram () const |
|
GLSLGpuProgram * | getFragmentProgram () const |
|
GLSLGpuProgram * | getGeometryProgram () const |
|
GLuint | getGLProgramHandle (void) const |
| Get the GL Handle for the program object. More...
|
|
GLSLGpuProgram * | getHullProgram () const |
|
GL3PlusVertexArrayObject * | getVertexArrayObject () |
|
GLSLGpuProgram * | getVertexProgram () 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) |
| Updates program object uniforms using data from pass iteration GpuProgramParameters. More...
|
|
virtual void | updateUniformBlocks (GpuProgramParametersSharedPtr params, uint16 mask, GpuProgramType fromProgType) |
| Updates program object uniform blocks using data from GpuProgramParameters. More...
|
|
virtual void | updateUniforms (GpuProgramParametersSharedPtr params, uint16 mask, GpuProgramType fromProgType) |
| Updates program object uniforms using data from GpuProgramParameters. More...
|
|
C++ encapsulation of GLSL Program Object.
Definition at line 45 of file Plus/src/GLSL/include/OgreGLSLLinkProgram.h.
◆ AttributeSet
◆ SemanticToStringMap
◆ GLSLLinkProgram()
◆ ~GLSLLinkProgram()
Ogre::GLSLLinkProgram::~GLSLLinkProgram |
( |
void |
| ) |
|
◆ _useProgram()
virtual void Ogre::GLSLLinkProgram::_useProgram |
( |
void |
| ) |
|
|
protectedvirtual |
◆ activate()
void Ogre::GLSLLinkProgram::activate |
( |
void |
| ) |
|
|
virtual |
Makes a program object active by making sure it is linked and then putting it in use.
Implements Ogre::GLSLProgramCommon.
◆ buildGLUniformReferences()
void Ogre::GLSLLinkProgram::buildGLUniformReferences |
( |
void |
| ) |
|
|
protected |
◆ compileAndLink()
virtual void Ogre::GLSLLinkProgram::compileAndLink |
( |
void |
| ) |
|
|
protectedvirtual |
◆ extractLayoutQualifiers()
virtual void Ogre::GLSLProgramCommon::extractLayoutQualifiers |
( |
void |
| ) |
|
|
virtualinherited |
Finds layout qualifiers in the shader source and sets attribute indices appropriately.
◆ getAttributeIndex()
◆ getAttributeSemanticEnum()
◆ getAttributeSemanticString()
◆ getCombinedName()
Ogre::String Ogre::GLSLProgramCommon::getCombinedName |
( |
void |
| ) |
|
|
protectedinherited |
◆ getComputeProgram()
◆ getDomainProgram()
◆ getFragmentProgram()
◆ getGeometryProgram()
◆ getGLProgramHandle()
GLuint Ogre::GLSLProgramCommon::getGLProgramHandle |
( |
void |
| ) |
const |
|
inherited |
◆ getHullProgram()
◆ getMicrocodeFromCache()
void Ogre::GLSLProgramCommon::getMicrocodeFromCache |
( |
void |
| ) |
|
|
protectedinherited |
Get the the binary data of a program from the microcode cache.
◆ getVertexArrayObject()
◆ getVertexProgram()
◆ isAttributeValid()
Is a non-standard attribute bound in the linked code?
◆ isSkeletalAnimationIncluded()
bool Ogre::GLSLProgramCommon::isSkeletalAnimationIncluded |
( |
void |
| ) |
const |
|
inherited |
Returns whether the linked program includes the required instructions to perform skeletal animation.
Definition at line 160 of file OgreGLSLProgramCommon.h.
◆ setSkeletalAnimationIncluded()
void Ogre::GLSLProgramCommon::setSkeletalAnimationIncluded |
( |
bool |
included | ) |
|
|
inherited |
Sets whether the linked program includes the required instructions to perform skeletal animation.
Definition at line 152 of file OgreGLSLProgramCommon.h.
◆ updatePassIterationUniforms()
Updates program object uniforms using data from pass iteration GpuProgramParameters.
normally called by GLSLGpuProgram::bindMultiPassParameters() just before multi pass rendering occurs.
Implements Ogre::GLSLProgramCommon.
◆ updateUniformBlocks()
◆ updateUniforms()
◆ mComputeProgram
◆ mCustomAttributesIndexes
◆ mDomainProgram
◆ mFragmentProgram
◆ mGeometryProgram
◆ mGLProgramHandle
GLuint Ogre::GLSLProgramCommon::mGLProgramHandle |
|
protectedinherited |
◆ mGLUniformBufferReferences
Container of uniform buffer references that are active in the program object.
Definition at line 68 of file OgreGLSLProgramCommon.h.
◆ mGLUniformReferences
Container of uniform references that are active in the program object.
Definition at line 65 of file OgreGLSLProgramCommon.h.
◆ mHullProgram
◆ mLinked
GLint Ogre::GLSLProgramCommon::mLinked |
|
protectedinherited |
Flag indicating that the program or pipeline object has been successfully linked.
Definition at line 90 of file OgreGLSLProgramCommon.h.
◆ mSemanticTypeMap
◆ mSkeletalAnimation
bool Ogre::GLSLProgramCommon::mSkeletalAnimation |
|
protectedinherited |
◆ mTriedToLinkAndFailed
bool Ogre::GLSLProgramCommon::mTriedToLinkAndFailed |
|
protectedinherited |
Flag indicating that the program or pipeline object has tried to link and failed.
Definition at line 92 of file OgreGLSLProgramCommon.h.
◆ mUniformRefsBuilt
bool Ogre::GLSLProgramCommon::mUniformRefsBuilt |
|
protectedinherited |
◆ mVertexArrayObject
◆ mVertexProgram
The documentation for this class was generated from the following file: