Go to the documentation of this file.
28 #ifndef __GLSLProgramCommon_H__
29 #define __GLSLProgramCommon_H__
97 void buildGLUniformReferences(
void);
103 #define NULL_CUSTOM_ATTRIBUTES_INDEX -2
104 #define NOT_FOUND_CUSTOM_ATTRIBUTES_INDEX -1
109 void getMicrocodeFromCache(
void);
111 virtual void compileAndLink(
void) = 0;
113 virtual void _useProgram(
void) = 0;
128 virtual void activate(
void) = 0;
143 virtual void extractLayoutQualifiers(
void);
177 #endif // __GLSLProgramCommon_H__
GL3PlusVertexArrayObject * mVertexArrayObject
GL handle for the vertex array object.
GLSLGpuProgram * mHullProgram
Linked hull(control) program.
GLUniformReferenceList::iterator GLUniformReferenceIterator
vector< HardwareUniformBufferSharedPtr >::type GLUniformBufferList
GLSLGpuProgram * getGeometryProgram() const
bool mSkeletalAnimation
Flag indicating skeletal animation is being performed.
@ VES_COUNT
The number of VertexElementSemantic elements (note - the first value VES_POSITION is 1)
bool mTriedToLinkAndFailed
Flag indicating that the program or pipeline object has tried to link and failed.
GLUniformReferenceList mGLUniformReferences
Container of uniform references that are active in the program object.
GL3PlusVertexArrayObject * getVertexArrayObject()
GLSLGpuProgram * getFragmentProgram() const
SemanticToStringMap mSemanticTypeMap
GLuint mGLProgramHandle
GL handle for the program object.
GLUniformBufferList mGLUniformBufferReferences
Container of uniform buffer references that are active in the program object.
GpuProgramType
Enumerates the types of programs which can run on the GPU.
VertexElementSemantic
Vertex element semantics, used to identify the meaning of vertex buffer contents.
void setSkeletalAnimationIncluded(bool included)
Sets whether the linked program includes the required instructions to perform skeletal animation.
C++ encapsulation of GLSL Program Object.
#define OGRE_MAX_TEXTURE_COORD_SETS
Define number of texture coordinate sets allowed per vertex.
#define _OgreGL3PlusExport
GLSL low level compiled shader object - this class is used to get at the linked program object and pr...
GLSLGpuProgram * mGeometryProgram
Linked geometry program.
GLSLGpuProgram * getDomainProgram() const
GLSLGpuProgram * mDomainProgram
Linked domain(evaluation) program.
bool mUniformRefsBuilt
Flag to indicate that uniform references have already been built.
GLUniformBufferList::iterator GLUniformBufferIterator
bool isSkeletalAnimationIncluded(void) const
Returns whether the linked program includes the required instructions to perform skeletal animation.
GLSLGpuProgram * getVertexProgram() const
Information about predefined program constants.
GLSLGpuProgram * mVertexProgram
Linked vertex program.
GLSLGpuProgram * mFragmentProgram
Linked fragment program.
GLint mLinked
Flag indicating that the program or pipeline object has been successfully linked.
map< String, VertexElementSemantic >::type SemanticToStringMap
Specialisation of VertexDeclaration for OpenGL Vertex Array Object usage.
vector< GLUniformReference >::type GLUniformReferenceList
GLSLGpuProgram * getComputeProgram() const
set< GLuint >::type AttributeSet
GLuint getGLProgramHandle(void) const
Get the GL Handle for the program object.
GLSLGpuProgram * mComputeProgram
Linked compute program.
GLSLGpuProgram * getHullProgram() const
Copyright © 2012 Torus Knot Software Ltd

This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Last modified Tue Apr 13 2021 08:53:15