OGRE-Next
3.0.0
Object-Oriented Graphics Rendering Engine
|
Specialisation of HighLevelGpuProgram to encapsulate shader objects obtained from compiled shaders written in the OpenGL Shader Language (GLSL ES) for OpenGL ES 2.0. More...
#include <OgreGLSLESShader.h>
Classes | |
class | CmdOptimisation |
Command object for running the GLSL optimiser. More... | |
class | CmdPreprocessorDefines |
Command object for setting macro defines. More... | |
Public Member Functions | |
GLSLESShader (ResourceManager *creator, const String &name, ResourceHandle handle, const String &group, bool isManual, ManualResourceLoader *loader) | |
~GLSLESShader () | |
GpuProgram * | _getBindingDelegate () |
Since GLSL has no assembly, use this shader for binding. More... | |
void | attachToProgramObject (const GLuint programObject) |
void | bind () |
Bind the shader in OpenGL. More... | |
void | bindParameters (GpuProgramParametersSharedPtr params, uint16 mask) |
Execute the param binding functions for this shader. More... | |
void | bindPassIterationParameters (GpuProgramParametersSharedPtr params) |
Execute the pass iteration param binding functions for this shader. More... | |
void | bindSharedParameters (GpuProgramParametersSharedPtr params, uint16 mask) |
Execute the shared param binding functions for this shader. More... | |
bool | compile (const bool checkErrors=false) |
Compile source into shader object. More... | |
GpuProgramParametersSharedPtr | createParameters () |
Overridden from GpuProgram. More... | |
void | detachFromProgramObject (const GLuint programObject) |
GLuint | getGLProgramHandle () |
GLuint | getGLShaderHandle () const |
GLenum | getGLShaderType (GpuProgramType programType) |
Get OpenGL GLSL shader type from OGRE GPU program type. More... | |
bool | getIsOptimised () |
Gets if the GLSL source has been optimised successfully. More... | |
const String & | getLanguage () const |
Overridden from GpuProgram. More... | |
String | getOptimisedSource () |
Gets he optimised GLSL source. More... | |
bool | getOptimiserEnabled () const |
Gets if the GLSL optimiser is enabled. More... | |
bool | getPassFogStates () const |
bool | getPassSurfaceAndLightStates () const |
bool | getPassTransformStates () const |
Overridden. More... | |
const String & | getPreprocessorDefines () const |
Sets the preprocessor defines use to compile the program. More... | |
GLuint | getShaderID () const |
Get the OGRE assigned shader ID. More... | |
String | getShaderTypeLabel (GpuProgramType programType) |
Get a string containing the name of the GLSL shader type correspondening to the OGRE GPU program type. More... | |
GLint | isLinked () |
Return the shader link status. More... | |
void | setIsOptimised (bool flag) |
Sets if the GLSL source has been optimised successfully. More... | |
void | setLinked (GLint flag) |
Set the shader link status. More... | |
void | setOptimisedSource (const String &src) |
Sets the optimised GLSL source. More... | |
void | setOptimiserEnabled (bool enabled) |
Sets if the GLSL optimiser is enabled. More... | |
void | setPreprocessorDefines (const String &defines) |
Sets the preprocessor defines use to compile the program. More... | |
void | unbind () |
Unbind the shader in OpenGL. More... | |
Static Public Member Functions | |
static void | unbindAll () |
Specialisation of HighLevelGpuProgram to encapsulate shader objects obtained from compiled shaders written in the OpenGL Shader Language (GLSL ES) for OpenGL ES 2.0.
Ogre::GLSLESShader::GLSLESShader | ( | ResourceManager * | creator, |
const String & | name, | ||
ResourceHandle | handle, | ||
const String & | group, | ||
bool | isManual, | ||
ManualResourceLoader * | loader | ||
) |
Ogre::GLSLESShader::~GLSLESShader | ( | ) |
|
inline |
Since GLSL has no assembly, use this shader for binding.
void Ogre::GLSLESShader::attachToProgramObject | ( | const GLuint | programObject | ) |
void Ogre::GLSLESShader::bind | ( | ) |
Bind the shader in OpenGL.
void Ogre::GLSLESShader::bindParameters | ( | GpuProgramParametersSharedPtr | params, |
uint16 | mask | ||
) |
Execute the param binding functions for this shader.
void Ogre::GLSLESShader::bindPassIterationParameters | ( | GpuProgramParametersSharedPtr | params | ) |
Execute the pass iteration param binding functions for this shader.
void Ogre::GLSLESShader::bindSharedParameters | ( | GpuProgramParametersSharedPtr | params, |
uint16 | mask | ||
) |
Execute the shared param binding functions for this shader.
bool Ogre::GLSLESShader::compile | ( | const bool | checkErrors = false | ) |
Compile source into shader object.
GpuProgramParametersSharedPtr Ogre::GLSLESShader::createParameters | ( | ) |
Overridden from GpuProgram.
void Ogre::GLSLESShader::detachFromProgramObject | ( | const GLuint | programObject | ) |
GLuint Ogre::GLSLESShader::getGLProgramHandle | ( | ) |
|
inline |
GLenum Ogre::GLSLESShader::getGLShaderType | ( | GpuProgramType | programType | ) |
Get OpenGL GLSL shader type from OGRE GPU program type.
|
inline |
Gets if the GLSL source has been optimised successfully.
const String& Ogre::GLSLESShader::getLanguage | ( | ) | const |
Overridden from GpuProgram.
|
inline |
Gets he optimised GLSL source.
|
inline |
Gets if the GLSL optimiser is enabled.
bool Ogre::GLSLESShader::getPassFogStates | ( | ) | const |
bool Ogre::GLSLESShader::getPassSurfaceAndLightStates | ( | ) | const |
bool Ogre::GLSLESShader::getPassTransformStates | ( | ) | const |
Overridden.
|
inline |
Sets the preprocessor defines use to compile the program.
|
inline |
Get the OGRE assigned shader ID.
String Ogre::GLSLESShader::getShaderTypeLabel | ( | GpuProgramType | programType | ) |
Get a string containing the name of the GLSL shader type correspondening to the OGRE GPU program type.
|
inline |
Return the shader link status.
Only used for separable programs.
|
inline |
Sets if the GLSL source has been optimised successfully.
|
inline |
Set the shader link status.
Only used for separable programs.
|
inline |
Sets the optimised GLSL source.
void Ogre::GLSLESShader::setOptimiserEnabled | ( | bool | enabled | ) |
Sets if the GLSL optimiser is enabled.
|
inline |
Sets the preprocessor defines use to compile the program.
void Ogre::GLSLESShader::unbind | ( | ) |
Unbind the shader in OpenGL.
|
static |