![]() |
OGRE-Next 3.0.0
Object-Oriented Graphics Rendering Engine
|
C++ encapsulation of GLSL program object. More...
#include <OgreGLSLProgram.h>
Inheritance diagram for Ogre::GLSLProgram:Public Member Functions | |
| GLSLProgram (GLSLShader *vertexProgram, GLSLShader *hullProgram, GLSLShader *domainProgram, GLSLShader *geometryProgram, GLSLShader *fragmentProgram, GLSLShader *computeProgram) | |
| Constructor should only be used by GLSLMonolithicProgramManager and GLSLSeparableProgramManager. | |
| virtual | ~GLSLProgram () |
| virtual void | activate ()=0 |
| Makes a program object active by making sure it is linked and then putting it in use. | |
| virtual void | extractLayoutQualifiers () |
| Finds layout qualifiers in the shader source and sets attribute indices appropriately. | |
| virtual GLint | getAttributeIndex (VertexElementSemantic semantic, uint index) |
| Get the index of a non-standard attribute bound in the linked code. | |
| GLSLShader * | getComputeShader () const |
| GLSLShader * | getDomainShader () const |
| GLSLShader * | getFragmentShader () const |
| GLSLShader * | getGeometryShader () const |
| GLuint | getGLProgramHandle () const |
| Get the GL Handle for the program object. | |
| GLSLShader * | getHullShader () const |
| GL3PlusOldVertexArrayObject * | getVertexArrayObject () |
| GLSLShader * | getVertexShader () const |
| bool | isAttributeValid (VertexElementSemantic semantic, uint index) |
| Is a non-standard attribute bound in the linked code? | |
| bool | isSkeletalAnimationIncluded () const |
| Returns whether the linked program includes the required instructions to perform skeletal animation. | |
| void | setSkeletalAnimationIncluded (bool included) |
| Sets whether the linked program includes the required instructions to perform skeletal animation. | |
| virtual void | updatePassIterationUniforms (GpuProgramParametersSharedPtr params)=0 |
| Updates program object uniforms using data from pass iteration GpuProgramParameters. | |
| virtual void | updateUniforms (GpuProgramParametersSharedPtr params, uint16 mask, GpuProgramType fromProgType)=0 |
| Updates program object uniforms using data from GpuProgramParameters. | |
Public Attributes | |
| GLint | mBaseInstanceLocation |
C++ encapsulation of GLSL program object.
| Ogre::GLSLProgram::GLSLProgram | ( | GLSLShader * | vertexProgram, |
| GLSLShader * | hullProgram, | ||
| GLSLShader * | domainProgram, | ||
| GLSLShader * | geometryProgram, | ||
| GLSLShader * | fragmentProgram, | ||
| GLSLShader * | computeProgram ) |
Constructor should only be used by GLSLMonolithicProgramManager and GLSLSeparableProgramManager.
|
virtual |
|
pure virtual |
Makes a program object active by making sure it is linked and then putting it in use.
Implemented in Ogre::GLSLMonolithicProgram.
|
virtual |
Finds layout qualifiers in the shader source and sets attribute indices appropriately.
|
virtual |
Get the index of a non-standard attribute bound in the linked code.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Get the GL Handle for the program object.
|
inline |
|
inline |
|
inline |
| bool Ogre::GLSLProgram::isAttributeValid | ( | VertexElementSemantic | semantic, |
| uint | index ) |
Is a non-standard attribute bound in the linked code?
|
inline |
Returns whether the linked program includes the required instructions to perform skeletal animation.
|
inline |
Sets whether the linked program includes the required instructions to perform skeletal animation.
|
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::GLSLMonolithicProgram.
|
pure virtual |
Updates program object uniforms using data from GpuProgramParameters.
Normally called by GLSLShader::bindParameters() just before rendering occurs.
Implemented in Ogre::GLSLMonolithicProgram.
| GLint Ogre::GLSLProgram::mBaseInstanceLocation |