cocos2d-x 3.0
- 首页 - 相关页面 - 模块 - 命名空间 - - 文件 -
类 - 图1 类 - 图2)
- 类列表 - 类索引 - 类继承关系 - 类成员

全部)) 命名空间) 文件) 函数) 变量) 类型定义) 枚举) 枚举值) 属性) 友元) 宏定义)))

| Public 类型 | Public 成员函数 | 静态 Public 成员函数 | 静态 Public 属性 | Protected 成员函数 | Protected 属性 | 友元 | 所有成员列表

GLProgram类 参考 Shaders

GLProgram类 实现一个glProgram. 更多…

#include

类 GLProgram 继承关系图:

类 - 图3 Ref

##
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 更多…
## 静态 Public 属性
static const char SHADER_NAME_POSITION_TEXTURE_COLOR
static const char SHADER_NAME_POSITION_TEXTURE_COLOR_NO_MVP
static const char SHADER_NAME_POSITION_TEXTURE_ALPHA_TEST
static const char SHADER_NAME_POSITION_TEXTURE_ALPHA_TEST_NO_MV
static const char SHADER_NAME_POSITION_COLOR
static const char SHADER_NAME_POSITION_COLOR_NO_MVP
static const char SHADER_NAME_POSITION_TEXTURE
static const char SHADER_NAME_POSITION_TEXTURE_U_COLOR
static const char SHADER_NAME_POSITION_TEXTURE_A8_COLOR
static const char SHADER_NAME_POSITION_U_COLOR
static const char SHADER_NAME_POSITION_LENGTH_TEXTURE_COLOR
static const char SHADER_NAME_LABEL_NORMAL
static const char SHADER_NAME_LABEL_OUTLINE
static const char SHADER_NAME_LABEL_DISTANCEFIELD_NORMAL
static const char SHADER_NAME_LABEL_DISTANCEFIELD_GLOW
static const char UNIFORM_NAME_P_MATRIX
static const char UNIFORM_NAME_MV_MATRIX
static const char UNIFORM_NAME_MVP_MATRIX
static const char UNIFORM_NAME_TIME
static const char UNIFORM_NAME_SIN_TIME
static const char UNIFORM_NAME_COS_TIME
static const char UNIFORM_NAME_RANDOM01
static const char UNIFORM_NAME_SAMPLER0
static const char UNIFORM_NAME_SAMPLER1
static const char UNIFORM_NAME_SAMPLER2
static const char UNIFORM_NAME_SAMPLER3
static const char UNIFORM_NAME_ALPHA_TEST_VALUE
static const char ATTRIBUTE_NAME_COLOR
static const char ATTRIBUTE_NAME_POSITION
static const char ATTRIBUTE_NAME_TEX_COORD
static const char * ATTRIBUTE_NAME_NORMAL
## 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
  • cocos2d
  • GLProgram
  • 生成于 2014年 五月 29日 星期四 09:41:46 , 为 cocos2d-x使用 doxygen 1.8.6