您的位置:首页 > 运维架构

OpenGL ES Shader相关API 总结【1】——传入绘制信息

2016-05-11 13:47 134 查看

传入绘制信息

======================

OpenGL ES 2.0API的作用分类:

用于从手机获取绘制buffer

用于沟通GPU可编程模块

用于传入绘制信息

用于设置绘制状态

用于执行绘制命令

用于查询环境、清理状态

1.
void glGenBuffers(GLsizei n, GLuint *buffers);

功能:创建若干个buffer object name
输入:数字n用于指定创建buffer的数量,指针用于保存这组buffer的变量名

2.
void glBindBuffer(GLenum target, GLuint buffer);

功能:将某个特定的buffer用于保存某个特定target的信息
输入:某个特定的target,特定buffer的ID
3.
void glBufferData(GLenum target, GLsizeptr size, const GLvoid* data, GLenum usage);

功能:通过指定一个特定的target,往target对应的buffer传入一定长度的数据,并且指定该buffer未来被使用的频率
输入:某个特定target,一定长度的数据,该buffer的使用方式
4.
void glBufferSubData(GLenum target, GLintptr offset, GLsizeptr size, const GLvoid* data);

功能:通过指定一个特定的target, 往target对应buffer的第offset位开始,传入一定长度的数据
输入:某个特定的target,buffer的第offset位,一定长度的数据
5.
void glDeleteBuffers(GLsizei n, const GLuint* buffers);

功能:删除指定的buffer object
输入:数字n用于指定要删除的buffer的数量,指针用于保存这组buffer的变量名
6.
void glBindAttribLocation(GLuint program, GLuint index, const GLchar* name)

功能:用于将指定program中的某个attribute,与某个固定的index进行绑定,在OpenGL ES中就可以通过该index对此attribute进行访问
输入:指定的program的ID,一个index常量,program绑定的VS中某个attribute的变量名字符串
7.
GLint glGetAttribLocation(GLuint program, const GLchar* name)

功能:获取指定program中的某个attribute的index,在OpenGL ES中就可以通过该index对此attribute进行访问
输入:指定program的ID,program绑定的VS中某个attribute的变量名字符串
输出:一个index常量
8.
void glEnableVertexAttribArray(GLuint index)

功能:将指定program中的某个attribute的开关打开,打开后,在OpenGL ES中就可以通过该index对此attribute进行访问,且在绘制的时候,Shader就可以访问到attribute对应的值
输入:指定program中的某个attribute的index
9.
void glDisableVertexAttribArray(GLuint index)

功能:将指定program中的某个attribute的开关关闭,关闭后,在绘制的时候,Shader将无法访问到attribute对应的值
输入:指定program中的某个attribute的index

10.
void glVertexAttribPointer(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid* pointer)

功能:往attribute传入一定数量、某种格式、特定间隔的数据,并指明传入之后,是否需要对这些数据进行归一化
输入:attribute的index,数据的尺寸、类型、是否归一化、间隔和数据本身,如果使用BO的话,那么不需要传入数据的本身,而传入数据在BO中的偏移量
11.
void glVertexAttrib*f(GLuint index, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3)

功能:给指定program中的某个attribute进行赋值,可以在该函数中传入一到四个成员的值
输入:指定program中的某个attribute的index,用于赋值的值
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  OpenGL