///// 创建和链接程序
// 创建
GLuint glCreateProgram()
// 删除
void glDeleteProgram(GLuint program)
// 连接着色器
void glAttachShader(GLuint program, GLuint shader)
// 断开连接
void glDetachShader(GLuint program, GLuint shader)
// 链接程序
void glLinkProgram(GLuint program)
// 查询程序信息
void glGetProgramiv(GLuint program, Glenum pname, GLint params)
pname:
GL_ACTIVE_ATTRIBUTES// 顶点着色器中活动属性的数量
GL_ACTIVE_ATTRIBUTE_MAX_LENGTH// 最大属性名称的最大长度(可以确定存储属性名字符串所需的内存)
GL_ACTIVE_UNIFORM_BLOCK//
GL_ACTIVE_UNIFORM_BLOCK_MAX_LENGTH
GL_ACTIVE_UNIFORMS// 活动统一变量的数量
GL_ACTIVE_UNIFORM_MAX_LENGTH// 最大统一变量名称的长度
GL_ATTACHED_SHADERS
GL_DELETE_STATUS
GL_INFO_LOG_LENGTH
GL_LINK_STATUS// 链接状态
GL_PROGRAM_BINARY_RETRIEVABLE_HINT
GL_TRANSFORM_FEEDBACK_BUFFER_MODE// 返回变换反馈启用时的缓冲区模式
GL_TRANSFORM_FEEDBACK_VARYINGS
GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH
GL_VALIDATE_STATUS
// 查询程序日志
void glGetProgramInfoLog(Gluint program, Glsizei maxLength, GLsizei
length, GLchar *infoLog)
// 校验程序对象
void glValidateProgram(GLuint program)
校验的结果可以用glGetProgramiv的GL_VALIDATE_STATUS查询,日志也会更新。
// 设置为活动程序的对象
void glUseProgram(GLuint program)