cocos2d-x 3.0 |
)
- 类列表 - 类索引 - 类继承关系 - 类成员
全部) 类) 命名空间) 文件) 函数) 变量) 类型定义) 枚举) 枚举值) 属性) 友元) 宏定义) 组) 页)
类 | Public 类型 | Public 成员函数 | 静态 Public 成员函数 | 静态 Public 属性 | Protected 成员函数 | Protected 属性 | 友元 | 所有成员列表
GLProgram类 参考 Shaders
GLProgram类 实现一个glProgram. 更多…
#include
类 GLProgram 继承关系图:
## 类 | |
struct | flag_struct |
## Public 类型 | |
enum | { VERTEX_ATTRIB_POSITION, VERTEX_ATTRIB_COLOR, VERTEX_ATTRIB_TEX_COORD, VERTEX_ATTRIB_NORMAL, VERTEX_ATTRIB_MAX, VERTEX_ATTRIB_TEX_COORDS = VERTEX_ATTRIB_TEX_COORD } |
enum | { UNIFORM_P_MATRIX, UNIFORM_MV_MATRIX, UNIFORM_MVP_MATRIX, UNIFORM_TIME, UNIFORM_SIN_TIME, UNIFORM_COS_TIME, UNIFORM_RANDOM01, UNIFORM_SAMPLER0, UNIFORM_SAMPLER1, UNIFORM_SAMPLER2, UNIFORM_SAMPLER3, UNIFORM_MAX } |
## Public 成员函数 | |
GLProgram () | |
virtual | ~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) |
void | bindAttribLocation (const std::string &attributeName, GLuint index) const |
通过调用glBindAttribLocation方法添加新的属性到着色器(shader) 更多… | |
GLint | getAttribLocation (const std::string &attributeName) const |
调用 glGetAttribLocation方法 更多… | |
GLint | getUniformLocation (const std::string &attributeName) const |
调用 glGetUniformLocation()方法 更多… | |
bool | link () |
链接 glProgram 更多… | |
void | use () |
它将调用glUseProgram()方法 更多… | |
void | updateUniforms () |
它将创建4种制式(uniforms): 更多… | |
GLint | getUniformLocationForName (const char name) const |
调用(retrieves)检索此着色器编程的指定名字制式的位置. 更多… | |
void | setUniformLocationWith1i (GLint location, GLint i1) |
仅当该值不同于前一个调用相同的着色器(shader)编程,调用 glUniform1i. 更多… | |
void | setUniformLocationWith2i (GLint location, GLint i1, GLint i2) |
仅当该值不同于前一个调用相同的着色器(shader)编程,调用 glUniform2i. 更多… | |
void | setUniformLocationWith3i (GLint location, GLint i1, GLint i2, GLint i3) |
仅当该值不同于前一个调用相同的着色器(shader)编程,调用 glUniform3i. 更多… | |
void | setUniformLocationWith4i (GLint location, GLint i1, GLint i2, GLint i3, GLint i4) |
仅当该值不同于前一个调用相同的着色器(shader)编程,调用 glUniform4i,仅仅当该值不同于前一个,相同的着色器(shader)编程才调. 更多… | |
void | setUniformLocationWith2iv (GLint location, GLint ints, unsigned int numberOfArrays) |
仅当该值不同于前一个调用相同的着色器(shader)编程,调用 glUniform2iv. 更多… | |
void | setUniformLocationWith3iv (GLint location, GLint ints, unsigned int numberOfArrays) |
仅当该值不同于前一个调用相同的着色器(shader)编程,调用 glUniform3iv. 更多… | |
void | setUniformLocationWith4iv (GLint location, GLint ints, unsigned int numberOfArrays) |
仅当该值不同于前一个调用相同的着色器(shader)编程,调用 glUniform4iv. 更多… | |
void | setUniformLocationWith1f (GLint location, GLfloat f1) |
仅当该值不同于前一个调用相同的着色器(shader)编程,调用 glUniform1f . 更多… | |
void | setUniformLocationWith2f (GLint location, GLfloat f1, GLfloat f2) |
仅当该值不同于前一个调用相同的着色器(shader)编程,调用 glUniform2f . 更多… | |
void | setUniformLocationWith3f (GLint location, GLfloat f1, GLfloat f2, GLfloat f3) |
仅当该值不同于前一个调用相同的着色器(shader)编程,调用 glUniform3f. 更多… | |
void | setUniformLocationWith4f (GLint location, GLfloat f1, GLfloat f2, GLfloat f3, GLfloat f4) |
仅当该值不同于前一个调用相同的着色器(shader)编程,调用 glUniform4f. 更多… | |
void | setUniformLocationWith2fv (GLint location, const GLfloat floats, unsigned int numberOfArrays) |
仅当该值不同于前一个调用相同的着色器(shader)编程,调用 glUniform2fv. 更多… | |
void | setUniformLocationWith3fv (GLint location, const GLfloat floats, unsigned int numberOfArrays) |
仅当该值不同于前一个调用相同的着色器(shader)编程,调用 glUniform3fv. 更多… | |
void | setUniformLocationWith4fv (GLint location, const GLfloat floats, unsigned int numberOfArrays) |
仅当该值不同于前一个调用相同的着色器(shader)编程,调用 glUniform4fv. 更多… | |
void | setUniformLocationWithMatrix2fv (GLint location, const GLfloat matrixArray, unsigned int numberOfMatrices) |
仅当该值不同于前一个调用相同的着色器(shader)编程,调用 glUniformMatrix2fv. 更多… | |
void | setUniformLocationWithMatrix3fv (GLint location, const GLfloat matrixArray, unsigned int numberOfMatrices) |
仅当该值不同于前一个调用相同的着色器(shader)编程,调用 glUniformMatrix3fv. 更多… | |
void | setUniformLocationWithMatrix4fv (GLint location, const GLfloat matrixArray, unsigned int numberOfMatrices) |
仅当该值不同于前一个调用相同的着色器(shader)编程,调用 glUniformMatrix4fv. 更多… | |
void | setUniformsForBuiltins () |
如果他们不同于前一个调用相同的着色器(shader),将会更新内键的制式. 更多… | |
void | setUniformsForBuiltins (const Mat4 &modelView) |
std::string | getVertexShaderLog () const |
返回vertexShader错误记录 更多… | |
std::string | getFragmentShaderLog () const |
返回fragmentShader错误记录 更多… | |
std::string | getProgramLog () const |
返回编程错误记录 更多… | |
void | reset () |
const GLuint | getProgram () const |
CC_DEPRECATED_ATTRIBUTE bool | initWithVertexShaderByteArray (const GLchar vertexByteArray, const GLchar fragByteArray) |
CC_DEPRECATED_ATTRIBUTE bool | initWithVertexShaderFilename (const std::string &vertexFilename, const std::string &fragFilename) |
CC_DEPRECATED_ATTRIBUTE void | addAttribute (const std::string &attributeName, GLuint index) const |
Public 成员函数 继承自 Ref | |
void | retain () |
保留所有权. 更多… | |
void | release () |
立即释放所有权. 更多… | |
Ref * | autorelease () |
自动释放所有权在不久的将来. 更多… | |
unsigned int | getReferenceCount () const |
返回Ref对象当前的引用计数. 更多… | |
virtual | ~Ref () |
NA NA 更多… | |
## 静态 Public 成员函数 | |
static GLProgram | createWithPrecompiledProgramByteArray (const GLchar vShaderByteArray, const GLchar fShaderByteArray) |
使用顶点(vertex)和片段字节数组初始化GLProgram initWithString initWithString 更多… | |
static GLProgram | createWithByteArrays (const GLchar vShaderByteArray, const GLchar fShaderByteArray) |
使用顶点(vertex)和字节数组片段初始化GLProgram initWithString initWithString 更多… | |
static GLProgram * | createWithFilenames (const std::string &vShaderFilename, const std::string &fShaderFilename) |
使用顶点(vertex)和文件名的内容片段初始化GLProgram init init 更多… | |
## Protected 成员函数 | |
bool | updateUniformLocation (GLint location, const GLvoid data, unsigned int bytes) |
virtual std::string | getDescription () const |
void | bindPredefinedVertexAttribs () |
void | parseVertexAttribs () |
void | parseUniforms () |
bool | compileShader (GLuint shader, GLenum type, const GLchar *source) |
std::string | logForOpenGLObject (GLuint object, GLInfoFunction infoFunc, GLLogFunction logFunc) const |
Protected 成员函数 继承自 Ref | |
Ref () | |
构造函数 更多… | |
## Protected 属性 | |
GLuint | _program |
GLuint | _vertShader |
GLuint | _fragShader |
GLint | _builtInUniforms [UNIFORM_MAX] |
struct _hashUniformEntry * | _hashForUniforms |
bool | _hasShaderCompiler |
std::string | _shaderId |
struct cocos2d::GLProgram::flag_struct | _flags |
std::unordered_map < std::string, Uniform > | _userUniforms |
std::unordered_map < std::string, VertexAttrib > | _vertexAttribs |
Protected 属性 继承自 Ref | |
unsigned int | _referenceCount |
引用计数 更多… | |
## 友元 | |
class | GLProgramState |
详细描述
GLProgram类 实现一个glProgram.
- 自从
- v2.0.0
该类的文档由以下文件生成:
- /Users/zeroyang/Documents/github/cocos2d-x/cocos/renderer/CCGLProgram.h