C++ encapsulation of GLSL Program Object.
More...
#include <OgreGLSLProgramCommon.h>
|
| GLSLProgramCommon (GLSLGpuProgram *vertexProgram, GLSLGpuProgram *geometryProgram, GLSLGpuProgram *fragmentProgram, GLSLGpuProgram *hullProgram, GLSLGpuProgram *domainProgram, GLSLGpuProgram *computeProgram) |
| Constructor should only be used by GLSLLinkProgramManager and GLSLProgramPipelineManager. More...
|
|
virtual | ~GLSLProgramCommon (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 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)=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...
|
|
C++ encapsulation of GLSL Program Object.
Definition at line 61 of file OgreGLSLProgramCommon.h.
◆ AttributeSet
◆ SemanticToStringMap
◆ GLSLProgramCommon()
◆ ~GLSLProgramCommon()
virtual Ogre::GLSLProgramCommon::~GLSLProgramCommon |
( |
void |
| ) |
|
|
virtual |
◆ _useProgram()
virtual void Ogre::GLSLProgramCommon::_useProgram |
( |
void |
| ) |
|
|
protectedpure virtual |
◆ activate()
virtual void Ogre::GLSLProgramCommon::activate |
( |
void |
| ) |
|
|
pure virtual |
◆ buildGLUniformReferences()
void Ogre::GLSLProgramCommon::buildGLUniformReferences |
( |
void |
| ) |
|
|
protected |
Build uniform references from active named uniforms.
◆ compileAndLink()
virtual void Ogre::GLSLProgramCommon::compileAndLink |
( |
void |
| ) |
|
|
protectedpure virtual |
◆ extractLayoutQualifiers()
virtual void Ogre::GLSLProgramCommon::extractLayoutQualifiers |
( |
void |
| ) |
|
|
virtual |
Finds layout qualifiers in the shader source and sets attribute indices appropriately.
◆ getAttributeIndex()
◆ getAttributeSemanticEnum()
◆ getAttributeSemanticString()
◆ getCombinedName()
Ogre::String Ogre::GLSLProgramCommon::getCombinedName |
( |
void |
| ) |
|
|
protected |
◆ getComputeProgram()
◆ getDomainProgram()
◆ getFragmentProgram()
◆ getGeometryProgram()
◆ getGLProgramHandle()
GLuint Ogre::GLSLProgramCommon::getGLProgramHandle |
( |
void |
| ) |
const |
◆ getHullProgram()
◆ getMicrocodeFromCache()
void Ogre::GLSLProgramCommon::getMicrocodeFromCache |
( |
void |
| ) |
|
|
protected |
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 |
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 | ) |
|
Sets whether the linked program includes the required instructions to perform skeletal animation.
Definition at line 152 of file OgreGLSLProgramCommon.h.
◆ updatePassIterationUniforms()
◆ updateUniformBlocks()
◆ updateUniforms()
◆ mComputeProgram
◆ mCustomAttributesIndexes
◆ mDomainProgram
◆ mFragmentProgram
◆ mGeometryProgram
◆ mGLProgramHandle
GLuint Ogre::GLSLProgramCommon::mGLProgramHandle |
|
protected |
◆ 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 |
|
protected |
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 |
|
protected |
◆ mTriedToLinkAndFailed
bool Ogre::GLSLProgramCommon::mTriedToLinkAndFailed |
|
protected |
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 |
|
protected |
◆ mVertexArrayObject
◆ mVertexProgram
The documentation for this class was generated from the following file: