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__ GLSLGpuProgram * getHullProgram() const
bool mUniformRefsBuilt
Flag to indicate that uniform references have already been built.
GL3PlusVertexArrayObject * getVertexArrayObject()
SemanticToStringMap mSemanticTypeMap
bool isSkeletalAnimationIncluded(void) const
Returns whether the linked program includes the required instructions to perform skeletal animation...
GL3PlusVertexArrayObject * mVertexArrayObject
GL handle for the vertex array object.
Specialisation of VertexDeclaration for OpenGL Vertex Array Object usage.
GLuint getGLProgramHandle(void) const
Get the GL Handle for the program object.
map< String, VertexElementSemantic >::type SemanticToStringMap
GLSLGpuProgram * getVertexProgram() const
GLSLGpuProgram * mFragmentProgram
Linked fragment program.
GLuint mGLProgramHandle
GL handle for the program object.
#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
GLSLGpuProgram * getFragmentProgram() const
set< GLuint >::type AttributeSet
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.
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.
This source file is part of OGRE (Object-oriented Graphics Rendering Engine) For the latest info...
GLSLGpuProgram * mVertexProgram
Linked vertex program.
GLSLGpuProgram * mHullProgram
Linked hull(control) program.
void setSkeletalAnimationIncluded(bool included)
Sets whether the linked program includes the required instructions to perform skeletal animation...
GLSLGpuProgram * getComputeProgram() const
GLint mLinked
Flag indicating that the program or pipeline object has been successfully linked. ...
GLSLGpuProgram * mGeometryProgram
Linked geometry program.
Information about predefined program constants.
GLSLGpuProgram * getGeometryProgram() const
GLSLGpuProgram * getDomainProgram() const
The number of VertexElementSemantic elements (note - the first value VES_POSITION is 1) ...
GLUniformBufferList::iterator GLUniformBufferIterator