绑定Shader
1.
GLuint glCreateShader(GLenum shaderType)
功能:创建一个指定类型的shader对象
输入:shader类型
输出:一个该类型的shader对象
2.
void glShaderSource(GLuint shader, GLsizei, count, const GLchar* const* string, const GLint* length)
功能:更新指定shader对象的源代码
输入:指定shader对象的ID,使用几组字符串对该shader对象进行赋值,字符串数组以及用于存放每个字符串包含字节长度的数组
3.
void glCompleShader(GLuint shader)
功能:对指定shader对象进行编译
输入:指定shader对象的ID
4.
void glShaderBinary(GLsizei n, const GLuint *shaders, GLenum binaryformat, const void *binary, GLsizei length);
功能;将预先编译好的shader存入一组shader对象中
输入:一组shader的数量以及shader的指针,预先编译好的shader格式,编译好的shader二进制的位置和长度
5.
GLuint glCreateProgram(void)
功能:创建一个program,用于把一组shader绑定在一起
输出:一个program对象
6.
void glAttachShader(GLuint program, GLuint shader)
功能:将一个指定的shader,绑定到一个指定的program上
输入:指定program的ID,以及指定shader的ID
7.
void glDetachShader(GLuint program, GLuint shader)
功能:将一个指定的shader,从指定的program上解绑
输入:指定program的ID,以及指定shader的ID
8.
void glLinkProgram(GLuint program)
功能:将指定的program做链接操作,也就是将Program上绑定的shader互相链接起来
输入:指定Programe的ID
9.
void glUseProgram(GLuint program);
功能:将指定program将被GPU使用,也就是说:如果OpenGL ES的其他API以及GPU对Program进行操作,那么操作就是这个program
输入:指定program的ID
10.
void glDeleteProgram(GLuint program);
功能:删除一个指定的Program
输入:指定program的ID
11.
void glDeleteShader(GLuint shader)
功能:删除一个指定的shader
输入:指定shader的ID
12.
void glReleaseShaderCompiler(void)
功能:删除Shader编译器相关的资源