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__
bool isSkeletalAnimationIncluded(void) const
Returns whether the linked program includes the required instructions to perform skeletal animation...
bool mUniformRefsBuilt
Flag to indicate that uniform references have already been built.
GL3PlusVertexArrayObject * getVertexArrayObject()
SemanticToStringMap mSemanticTypeMap
GL3PlusVertexArrayObject * mVertexArrayObject
GL handle for the vertex array object.
GLSLGpuProgram * getFragmentProgram() const
GLSLGpuProgram * getComputeProgram() const
Specialisation of VertexDeclaration for OpenGL Vertex Array Object usage.
map< String, VertexElementSemantic >::type SemanticToStringMap
GLSLGpuProgram * mFragmentProgram
Linked fragment program.
GLuint mGLProgramHandle
GL handle for the program object.
GLSLGpuProgram * getGeometryProgram() const
#define _OgreGL3PlusExport
GLSL low level compiled shader object - this class is used to get at the linked program object and pr...
GLUniformReferenceList mGLUniformReferences
Container of uniform references that are active in the program object.
GLUniformReferenceList::iterator GLUniformReferenceIterator
set< GLuint >::type AttributeSet
GLSLGpuProgram * getHullProgram() const
C++ encapsulation of GLSL Program Object.
bool mTriedToLinkAndFailed
Flag indicating that the program or pipeline object has tried to link and failed. ...
vector< GLUniformReference >::type GLUniformReferenceList
VertexElementSemantic
Vertex element semantics, used to identify the meaning of vertex buffer contents. ...
GpuProgramType
Enumerates the types of programs which can run on the GPU.
GLUniformBufferList mGLUniformBufferReferences
Container of uniform buffer references that are active in the program object.
GLuint getGLProgramHandle(void) const
Get the GL Handle for the program object.
bool mSkeletalAnimation
Flag indicating skeletal animation is being performed.
GLSLGpuProgram * mComputeProgram
Linked compute program.
#define OGRE_MAX_TEXTURE_COORD_SETS
Define number of texture coordinate sets allowed per vertex.
vector< HardwareUniformBufferSharedPtr >::type GLUniformBufferList
GLSLGpuProgram * mDomainProgram
Linked domain(evaluation) program.
GLSLGpuProgram * getDomainProgram() const
GLSLGpuProgram * mVertexProgram
Linked vertex program.
GLSLGpuProgram * mHullProgram
Linked hull(control) program.
GLSLGpuProgram * getVertexProgram() const
void setSkeletalAnimationIncluded(bool included)
Sets whether the linked program includes the required instructions to perform skeletal animation...
GLint mLinked
Flag indicating that the program or pipeline object has been successfully linked. ...
GLSLGpuProgram * mGeometryProgram
Linked geometry program.
Information about predefined program constants.
The number of VertexElementSemantic elements (note - the first value VES_POSITION is 1) ...
GLUniformBufferList::iterator GLUniformBufferIterator