GL Studio C++ Runtime API
|
#include <gls_es20_effect.h>
Public Member Functions | |
GlsUniform * | GetStdUniform (StdUniforms_e uniform) |
GlsUniform * | GetCustomUniform (GLint uniform) |
GLuint | GetAttribLocation (StdAttribs_e attribute) |
GLuint | CreateShader (const GLchar *vertexShader, const GLchar *fragmentShader) |
GLint | CreateCustomUniform (const char *uniformName) |
bool | IsInitialized (void) |
void | UseProgram (void) |
GLuint | GetProgramObject (void) |
~GlsEffect () | |
Protected Member Functions | |
void | FreeShaders (GLuint vertObject, GLuint fragObject) |
GLuint | LoadAndCompileShader (GLenum shaderType, const char *shaderSource) |
Protected Attributes | |
GLuint | _programObject |
GlsUniform | _stdUniforms [MAX_STD_UNIFORMS] |
DynamicArray< GlsUniform, false > | _customUniforms |
GLint | _attribLocations [MAX_STD_ATTRIBS] |
Friends | |
class | GlsEffectFactoryImpl |
The GlsEffect Class. This class stores program objects and lists of uniforms. Because all construction methods are private, Effects can be only created with the friend Factory class.
~GlsEffect | ( | ) |
dtor
GLint CreateCustomUniform | ( | const char * | uniformName | ) |
Create a custom uniform to add to this effect's list of custom uniforms
[in] | uniformName | The string representing the name of this uniform |
GLuint CreateShader | ( | const GLchar * | vertexShader, |
const GLchar * | fragmentShader | ||
) |
Compile and link vertex and fragment shaders, creating a program object.
[in] | vertexShader | The vertex shader. |
[in] | fragmentShader | The fragment shader. |
|
protected |
Delete/destroy the shader program and its shaders
GLuint GetAttribLocation | ( | StdAttribs_e | attribute | ) |
Get attribute location
[in] | attribute | The standard attribute to query ( |
GlsUniform* GetCustomUniform | ( | GLint | uniform | ) |
Get uniform data for one of the custom uniforms.
[in] | uniform | The custom uniform's ID |
GLuint GetProgramObject | ( | void | ) |
Get the program object associated with this effect.
GlsUniform* GetStdUniform | ( | StdUniforms_e | uniform | ) |
Get uniform data for one of the standard uniforms.
[in] | uniform | The standard uniform enum ( |
bool IsInitialized | ( | void | ) |
Indicates if this effect was successfully loaded or not
|
protected |
Load and compile a new shader.
[in] | shaderType | The type of shader this is |
[in] | shaderSource | The code for the shader |
void UseProgram | ( | void | ) |
Use the program for this effect.
|
friend |
Only the effect factory should be creating new effects.
|
protected |
The attributes for this effect.
|
protected |
Custom uniform types for custom shaders.
|
protected |
This effect's program object.
|
protected |
Standard uniform types. Index values can be acquired from the factory.