28 #ifndef __GLSLESProgramCommon_H__
29 #define __GLSLESProgramCommon_H__
39 class GLSLESGpuProgram;
42 struct GLUniformReference
87 void buildGLUniformReferences(
void);
93 #define NULL_CUSTOM_ATTRIBUTES_INDEX -2
94 #define NOT_FOUND_CUSTOM_ATTRIBUTES_INDEX -1
99 void getMicrocodeFromCache(
void);
101 virtual void compileAndLink(
void) = 0;
103 virtual void _useProgram(
void) = 0;
118 virtual void activate(
void) = 0;
161 #endif // __GLSLESProgramCommon_H__
GLSL ES low level compiled shader object - this class is used to get at the linked program object and...
GLSLESGpuProgram * mVertexProgram
Linked vertex program.
bool mTriedToLinkAndFailed
Flag indicating that the program or pipeline object has tried to link and failed. ...
map< String, VertexElementSemantic >::type SemanticToStringMap
std::vector< GLUniformReference, STLAllocator< GLUniformReference, GeneralAllocPolicy > > type
GLint mLinked
Flag indicating that the program or pipeline object has been successfully linked. ...
GLUniformReferenceList mGLUniformReferences
Container of uniform references that are active in the program object.
SemanticToStringMap mSemanticTypeMap
GLUniformBufferList mGLUniformBufferReferences
Container of uniform buffer references that are active in the program object.
GLUniformReferenceList::iterator GLUniformReferenceIterator
GLES2UniformCache * getUniformCache(void)
bool isSkeletalAnimationIncluded(void) const
Returns whether the linked program includes the required instructions to perform skeletal animation...
GLSLESGpuProgram * getVertexProgram(void) const
vector< GLUniformReference >::type GLUniformReferenceList
GLuint mGLProgramHandle
GL handle for the program object.
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.
GLuint getGLProgramHandle(void) const
Get the GL Handle for the program object.
GLES2UniformCache * mUniformCache
set< GLuint >::type AttributeSet
bool mUniformRefsBuilt
Flag to indicate that uniform references have already been built.
GLSLESGpuProgram * mFragmentProgram
Linked fragment program.
#define OGRE_MAX_TEXTURE_COORD_SETS
Define number of texture coordinate sets allowed per vertex.
vector< HardwareUniformBufferSharedPtr >::type GLUniformBufferList
void setSkeletalAnimationIncluded(bool included)
Sets whether the linked program includes the required instructions to perform skeletal animation...
GLSLESGpuProgram * getFragmentProgram(void) const
bool mSkeletalAnimation
Flag indicating skeletal animation is being performed.
C++ encapsulation of GLSL ES Program Object.
The number of VertexElementSemantic elements (note - the first value VES_POSITION is 1) ...
GLUniformBufferList::iterator GLUniformBufferIterator