28 #ifndef __GLSLESProgram_H__
29 #define __GLSLESProgram_H__
53 #if !OGRE_NO_GLES2_GLSL_OPTIMISER
58 String doGet(
const void* target)
const;
59 void doSet(
void* target,
const String& val);
66 String doGet(
const void* target)
const;
67 void doSet(
void* target,
const String& val);
77 void attachToProgramObject(
const GLuint programObject );
78 void detachFromProgramObject(
const GLuint programObject );
82 bool getPassTransformStates(
void)
const;
83 bool getPassSurfaceAndLightStates(
void)
const;
84 bool getPassFogStates(
void)
const;
91 #if !OGRE_NO_GLES2_GLSL_OPTIMISER
92 void setOptimiserEnabled(
bool enabled);
109 const String& getLanguage(
void)
const;
114 bool compile(
const bool checkErrors =
false);
118 #if !OGRE_NO_GLES2_GLSL_OPTIMISER
124 void loadFromSource(
void);
130 void createLowLevelImpl(
void);
132 void unloadHighLevelImpl(
void);
134 void unloadImpl(
void);
139 void buildConstantDefinitions()
const;
145 void checkAndFixInvalidDefaultPrecisionError(
String &message );
147 #if OGRE_PLATFORM == OGRE_PLATFORM_ANDROID
149 virtual void notifyOnContextLost();
160 #if !OGRE_NO_GLES2_GLSL_OPTIMISER
170 #endif // __GLSLESProgram_H__
GLuint getGLProgramHandle() const
const String & getPreprocessorDefines(void) const
Sets the preprocessor defines use to compile the program.
Abstract base class representing a high-level program (a vertex or fragment program).
Interface describing a manual resource loader.
String mOptimisedSource
The optmised source of the program (may be blank until the shader is optmisied)
Command object for running the GLSL optimiser.
unsigned long long int ResourceHandle
bool getOptimiserEnabled(void) const
Gets if the GLSL optimiser is enabled.
static CmdPreprocessorDefines msCmdPreprocessorDefines
bool getIsOptimised(void)
Gets if the GLSL source has been optimised successfully.
String getOptimisedSource(void)
Gets he optimised GLSL source.
Defines a generic resource handler.
void setOptimisedSource(const String &src)
Sets the optimised GLSL source.
String mPreprocessorDefines
Preprocessor options.
GLint mCompiled
Flag indicating if shader object successfully compiled.
GLuint mGLShaderHandle
GL handle for shader object.
Specialisation of HighLevelGpuProgram to provide support for OpenGL Shader Language (GLSL ES) for Ope...
Abstract class which is command object which gets/sets parameters.
void setIsOptimised(bool flag)
Sets if the GLSL source has been optimised successfully.
void setPreprocessorDefines(const String &defines)
Sets the preprocessor defines use to compile the program.
Command object for setting macro defines.
GLuint getGLShaderHandle() const
GL Shader Handle.
static CmdOptimisation msCmdOptimisation