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 * getVertexProgram(void) const
GLSLESGpuProgram * mVertexProgram
Linked vertex program.
bool mTriedToLinkAndFailed
Flag indicating that the program or pipeline object has tried to link and failed. ...
GLSLESGpuProgram * getFragmentProgram(void) const
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. ...
GLuint getGLProgramHandle(void) const
Get the GL Handle for the program object.
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)
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.
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
This source file is part of OGRE (Object-oriented Graphics Rendering Engine) For the latest info...
void setSkeletalAnimationIncluded(bool included)
Sets whether the linked program includes the required instructions to perform skeletal animation...
bool mSkeletalAnimation
Flag indicating skeletal animation is being performed.
bool isSkeletalAnimationIncluded(void) const
Returns whether the linked program includes the required instructions to perform skeletal animation...
C++ encapsulation of GLSL ES Program Object.
The number of VertexElementSemantic elements (note - the first value VES_POSITION is 1) ...
GLUniformBufferList::iterator GLUniformBufferIterator