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

举报
ShaderJoy 发表于 2021/12/30 00:58:00 2021/12/30
【摘要】 传入绘制信息 ====================== OpenGL ES 2.0API的作用分类: 用于从手机获取绘制buffer 用于沟通GPU可编程模块 用于传入绘制信息 用于设置绘制状态 用于执行绘制命令 用于查询环境、清理状态 1. void glGenBuffers(GLsi...

传入绘制信息

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

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

文章来源: panda1234lee.blog.csdn.net,作者:panda1234lee,版权归原作者所有,如需转载,请联系作者。

原文链接:panda1234lee.blog.csdn.net/article/details/51373909

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。