GLProgram Class that implements a glProgram. More...
#include <CCGLProgram.h>
Classes | |
| struct | flag_struct |
Public Member Functions | |
| GLProgram () | |
| GLProgram () | |
| GLProgram () | |
| virtual | ~GLProgram () |
| local | ~GLProgram () |
| bool | initWithPrecompiledProgramByteArray (const GLchar *vShaderByteArray, const GLchar *fShaderByteArray) |
| bool | initWithByteArrays (const GLchar *vShaderByteArray, const GLchar *fShaderByteArray) |
| bool | initWithFilenames (const std::string &vShaderFilename, const std::string &fShaderFilename) |
| Uniform * | getUniform (const std::string &name) |
| VertexAttrib * | getVertexAttrib (const std::string &name) |
| var | getVertexAttrib ( var name) |
| local | getVertexAttrib ( local name) |
| void | bindAttribLocation (const std::string &attributeName, GLuint index) const |
| It will add a new attribute to the shader by calling glBindAttribLocation. More... | |
| var | bindAttribLocation ( var attributeName, var index) |
| It will add a new attribute to the shader by calling glBindAttribLocation. More... | |
| local | bindAttribLocation ( local attributeName, local index) |
| It will add a new attribute to the shader by calling glBindAttribLocation. More... | |
| GLint | getAttribLocation (const std::string &attributeName) const |
| calls glGetAttribLocation More... | |
| GLint | getUniformLocation (const std::string &attributeName) const |
| calls glGetUniformLocation() More... | |
| bool | link () |
| links the glProgram More... | |
| var | link () |
| links the glProgram More... | |
| local | link () |
| links the glProgram More... | |
| void | use () |
| it will call glUseProgram() More... | |
| void | updateUniforms () |
| It will create 4 uniforms: More... | |
| var | updateUniforms () |
| It will create 4 uniforms: More... | |
| local | updateUniforms () |
| It will create 4 uniforms: More... | |
| GLint | getUniformLocationForName (const char *name) const |
| calls retrieves the named uniform location for this shader program. More... | |
| local | getUniformLocationForName ( local name) |
| calls retrieves the named uniform location for this shader program. More... | |
| void | setUniformLocationWith1i (GLint location, GLint i1) |
| calls glUniform1i only if the values are different than the previous call for this same shader program. More... | |
| var | setUniformLocationI32 ( var location, var i1) |
| calls glUniform1i only if the values are different than the previous call for this same shader program. More... | |
| local | setUniformLocationI32 ( local location, local i1) |
| calls glUniform1i only if the values are different than the previous call for this same shader program. More... | |
| void | setUniformLocationWith2i (GLint location, GLint i1, GLint i2) |
| calls glUniform2i only if the values are different than the previous call for this same shader program. More... | |
| var | setUniformLocationWith2i ( var location, var i1, var i2) |
| calls glUniform2i only if the values are different than the previous call for this same shader program. More... | |
| local | setUniformLocationWith2i ( local location, local i1, local i2) |
| calls glUniform2i only if the values are different than the previous call for this same shader program. More... | |
| void | setUniformLocationWith3i (GLint location, GLint i1, GLint i2, GLint i3) |
| calls glUniform3i only if the values are different than the previous call for this same shader program. More... | |
| void | setUniformLocationWith4i (GLint location, GLint i1, GLint i2, GLint i3, GLint i4) |
| calls glUniform4i only if the values are different than the previous call for this same shader program. More... | |
| void | setUniformLocationWith2iv (GLint location, GLint *ints, unsigned int numberOfArrays) |
| calls glUniform2iv only if the values are different than the previous call for this same shader program. More... | |
| void | setUniformLocationWith3iv (GLint location, GLint *ints, unsigned int numberOfArrays) |
| calls glUniform3iv only if the values are different than the previous call for this same shader program. More... | |
| var | setUniformLocationWith3iv ( var location, var ints, var numberOfArrays) |
| calls glUniform3iv only if the values are different than the previous call for this same shader program. More... | |
| local | setUniformLocationWith3iv ( local location, local ints, local numberOfArrays) |
| calls glUniform3iv only if the values are different than the previous call for this same shader program. More... | |
| void | setUniformLocationWith4iv (GLint location, GLint *ints, unsigned int numberOfArrays) |
| calls glUniform4iv only if the values are different than the previous call for this same shader program. More... | |
| var | setUniformLocationWith4iv ( var location, var ints, var numberOfArrays) |
| calls glUniform4iv only if the values are different than the previous call for this same shader program. More... | |
| local | setUniformLocationWith4iv ( local location, local ints, local numberOfArrays) |
| calls glUniform4iv only if the values are different than the previous call for this same shader program. More... | |
| void | setUniformLocationWith1f (GLint location, GLfloat f1) |
| calls glUniform1f only if the values are different than the previous call for this same shader program. More... | |
| local | setUniformLocationWith1f ( local location, local f1) |
| calls glUniform1f only if the values are different than the previous call for this same shader program. More... | |
| void | setUniformLocationWith2f (GLint location, GLfloat f1, GLfloat f2) |
| calls glUniform2f only if the values are different than the previous call for this same shader program. More... | |
| local | setUniformLocationWith2f ( local location, local f1, local f2) |
| calls glUniform2f only if the values are different than the previous call for this same shader program. More... | |
| void | setUniformLocationWith3f (GLint location, GLfloat f1, GLfloat f2, GLfloat f3) |
| calls glUniform3f only if the values are different than the previous call for this same shader program. More... | |
| local | setUniformLocationWith3f ( local location, local f1, local f2, local f3) |
| calls glUniform3f only if the values are different than the previous call for this same shader program. More... | |
| void | setUniformLocationWith4f (GLint location, GLfloat f1, GLfloat f2, GLfloat f3, GLfloat f4) |
| calls glUniform4f only if the values are different than the previous call for this same shader program. More... | |
| void | setUniformLocationWith1fv (GLint location, const GLfloat *floats, unsigned int numberOfArrays) |
| calls glUniformfv only if the values are different than the previous call for this same shader program. More... | |
| void | setUniformLocationWith2fv (GLint location, const GLfloat *floats, unsigned int numberOfArrays) |
| calls glUniform2fv only if the values are different than the previous call for this same shader program. More... | |
| void | setUniformLocationWith3fv (GLint location, const GLfloat *floats, unsigned int numberOfArrays) |
| calls glUniform3fv only if the values are different than the previous call for this same shader program. More... | |
| void | setUniformLocationWith4fv (GLint location, const GLfloat *floats, unsigned int numberOfArrays) |
| calls glUniform4fv only if the values are different than the previous call for this same shader program. More... | |
| void | setUniformLocationWithMatrix2fv (GLint location, const GLfloat *matrixArray, unsigned int numberOfMatrices) |
| calls glUniformMatrix2fv only if the values are different than the previous call for this same shader program. More... | |
| void | setUniformLocationWithMatrix3fv (GLint location, const GLfloat *matrixArray, unsigned int numberOfMatrices) |
| calls glUniformMatrix3fv only if the values are different than the previous call for this same shader program. More... | |
| void | setUniformLocationWithMatrix4fv (GLint location, const GLfloat *matrixArray, unsigned int numberOfMatrices) |
| calls glUniformMatrix4fv only if the values are different than the previous call for this same shader program. More... | |
| void | setUniformsForBuiltins () |
| will update the builtin uniforms if they are different than the previous call for this same shader program. More... | |
| void | setUniformsForBuiltins (const Mat4 &modelView) |
| var | setUniformsForBuiltins ( var modelView) |
| local | setUniformsForBuiltins ( local modelView) |
| std::string | getVertexShaderLog () const |
| returns the vertexShader error log More... | |
| var | getVertexShaderLog () |
| returns the vertexShader error log More... | |
| local | getVertexShaderLog () |
| returns the vertexShader error log More... | |
| std::string | getFragmentShaderLog () const |
| returns the fragmentShader error log More... | |
| var | getFragmentShaderLog () |
| returns the fragmentShader error log More... | |
| local | getFragmentShaderLog () |
| returns the fragmentShader error log More... | |
| std::string | getProgramLog () const |
| returns the program error log More... | |
| var | getProgramLog () |
| returns the program error log More... | |
| local | getProgramLog () |
| returns the program error log More... | |
| void | reset () |
| const GLuint | getProgram () const |
| var | getProgram () |
| local | getProgram () |
| bool | initWithVertexShaderByteArray (const GLchar *vertexByteArray, const GLchar *fragByteArray) |
| var | initWithVertexShaderByteArray ( var vertexByteArray, var fragByteArray) |
| local | initWithVertexShaderByteArray ( local vertexByteArray, local fragByteArray) |
| bool | initWithVertexShaderFilename (const std::string &vertexFilename, const std::string &fragFilename) |
| void | addAttribute (const std::string &attributeName, GLuint index) const |
Public Member Functions inherited from Ref | |
| void | retain () |
| Retains the ownership. More... | |
| void | release () |
| Releases the ownership immediately. More... | |
| Ref * | autorelease () |
| Releases the ownership sometime soon automatically. More... | |
| unsigned int | getReferenceCount () const |
| Returns the Ref's current reference count. More... | |
| virtual | ~Ref () |
Static Public Member Functions | |
| static GLProgram * | createWithPrecompiledProgramByteArray (const GLchar *vShaderByteArray, const GLchar *fShaderByteArray) |
| Initializes the GLProgram with a vertex and fragment with bytes array. More... | |
| local | initWithString ( local vShaderByteArray, local fShaderByteArray) |
| Initializes the GLProgram with a vertex and fragment with bytes array. More... | |
| static GLProgram * | createWithByteArrays (const GLchar *vShaderByteArray, const GLchar *fShaderByteArray) |
| Initializes the GLProgram with a vertex and fragment with bytes array. More... | |
| var | initWithString ( var vShaderByteArray, var fShaderByteArray) |
| Initializes the GLProgram with a vertex and fragment with bytes array. More... | |
| local | initWithString ( local vShaderByteArray, local fShaderByteArray) |
| Initializes the GLProgram with a vertex and fragment with bytes array. More... | |
| static GLProgram * | createWithFilenames (const std::string &vShaderFilename, const std::string &fShaderFilename) |
| Initializes the GLProgram with a vertex and fragment with contents of filenames. More... | |
Protected Member Functions | |
| bool | updateUniformLocation (GLint location, const GLvoid *data, unsigned int bytes) |
| var | updateUniformLocation ( var location, var data, var bytes) |
| local | updateUniformLocation ( local location, local data, local bytes) |
| virtual std::string | getDescription () const |
| var | getDescription () |
| local | getDescription () |
| void | bindPredefinedVertexAttribs () |
| var | bindPredefinedVertexAttribs () |
| local | bindPredefinedVertexAttribs () |
| void | parseVertexAttribs () |
| var | parseVertexAttribs () |
| local | parseVertexAttribs () |
| void | parseUniforms () |
| var | parseUniforms () |
| local | parseUniforms () |
| bool | compileShader (GLuint *shader, GLenum type, const GLchar *source) |
| var | compileShader ( var shader, var type, var source) |
| local | compileShader ( local shader, local type, local source) |
Protected Member Functions inherited from Ref | |
| Ref () | |
| Constructor. More... | |
| Ref () | |
| Constructor. More... | |
Protected Attributes | |
| GLuint | _program |
| GLuint | _vertShader |
| GLuint | _fragShader |
| var | _fragShader |
| local | _fragShader |
| GLint | _builtInUniforms [UNIFORM_MAX] |
| var | _builtInUniforms () |
| local | _builtInUniforms () |
| bool | _hasShaderCompiler |
| local | _hasShaderCompiler |
| std::string | _shaderId |
| var | _shaderId |
| local | _shaderId |
| struct cocos2d::GLProgram::flag_struct | _flags |
| var | _flags |
| local | _flags |
| std::unordered_map < std::string, Uniform > | _userUniforms |
| var | _userUniforms |
| local | _userUniforms |
| std::unordered_map < std::string, VertexAttrib > | _vertexAttribs |
| std::unordered_map< GLint, std::pair< GLvoid *, unsigned int > > | _hashForUniforms |
| Director * | _director |
| local | _director |
Protected Attributes inherited from Ref | |
| unsigned int | _referenceCount |
| count of references More... | |
| var | _referenceCount |
| count of references More... | |
| local | _referenceCount |
| count of references More... | |
Friends | |
| class | GLProgramState |
GLProgram Class that implements a glProgram.