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

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

传入绘制信息

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

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,用于赋值的值

目录
相关文章
|
2月前
|
Java API
java 操作es api
java 操作es api
52 0
|
2月前
|
XML 小程序 Java
【Android App】三维投影OpenGL ES的讲解及着色器实现(附源码和演示 超详细)
【Android App】三维投影OpenGL ES的讲解及着色器实现(附源码和演示 超详细)
71 0
|
存储 编解码 算法
Opengl ES之LUT滤镜(上)
Opengl ES之连载系列
366 0
|
数据安全/隐私保护 开发者
OpenGL ES 多目标渲染(MRT)
Opengl ES连载系列
244 0
|
数据安全/隐私保护 索引
Opengl ES之纹理数组
Opengl ES连载系列
202 0
|
数据安全/隐私保护
Opengl ES之水印贴图
Opengl ES之连载系列
104 0
|
Java 数据安全/隐私保护 Android开发
Opengl ES之矩阵变换(下)
Opengl ES连载系列
94 0
|
Java API 数据安全/隐私保护
Opengl ES之矩阵变换(上)
Opengl ES连载系列
99 0
|
存储
Opengl ES之踩坑记
Opengl ES之连载系列
101 0
|
存储 编解码 算法
Opengl ES之RGB转NV21
Opengl ES连载系列
123 0