一:关于缓冲区 (排序不代表执行顺序)
// 生成缓冲区对象名称(生成的缓冲标识符的数量,指向生成标识符的内存保存位置) 1、 void glGenBuffers(GLsizei n, GLuint * buffers)
// 绑定一个顶点数组对象(指定要绑定的顶点数组的名称) 2、 void glBindVertexArray(GLuint array)
// 绑定一个已命名缓冲区对象(指定缓冲区对象绑定目标,指定缓冲区对象的名称) 3、 void glBindBuffer(GLenum target, GLuint buffer)
// 将缓冲区对象绑定到索引的缓冲区目标( 指定绑定操作的目标, 在由target指定的数组中指定绑定点的索引, 要绑定到指定绑定点的缓冲区对象的名称 ) 4、 void glBindBufferBase(GLenum target, GLuint index, GLuint buffer)
// 创建并初始化一个缓冲区对象的数据存储( 指定缓冲区对象的目标, 指定缓冲区对象新的数据存储的字节大小, 指定指向将要复制数据存储进行初始化的数据的地址, 指定数据存储预期使用模式) 5、 void glBufferData(GLenum target, GLsizeiptr size, const void * data, GLenum usage)
// 删除指定的缓冲区对象( 指定要删除的缓冲区对象数量, 指定要删除的缓冲区对象数组 ) 6、 void glDeleteBuffers(GLsizei n, const GLuint * buffers)
// 更新缓冲区对象的数据存储的子集( 指定缓冲区对象的目标, 指定进入缓冲区对象的数据存储的偏移量(数据替换将从这里开始,以字节为单位), 指定要替换的数据存储区域的大小(以字节为单位), 指定指向将复制到数据存储中的新数据的指针 ) 7、 void glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const void * data)
// 删除顶点数组对象( 指定要删除的顶点数组对象的数量, 指定包含n个要删除对象名称的数组地址 ) 8、 void glDeleteVertexArrays(GLsizei n, const GLuint *arrays)
// 为像素选择一个颜色缓冲源( 指定一个颜色缓冲区 ) 9、 void glReadBuffer(GLenum mode)
// 为像素选择一个颜色缓冲源( 指定帧缓冲区对象的名称, 指定一个颜色缓冲区 ) 10、 void glNamedFramebufferReadBuffer(GLuint framebuffer, GLenum mode)
// 将缓冲区清除为预设值( 指示要清除缓冲区的掩码的按位“或” ) 11、 void glClear(GLbitfield mask)
// 将缓冲区对象中的范围绑定到索引的缓冲区目标( 指定绑定操作的目标, 在由target指定的数组中指定绑定点的索引, 要绑定到指定绑定点的缓冲区对象的名称, 起始偏移量在基本机器单元中进入缓冲对象buffer, [当用作索引目标时,可以从缓冲区对象中读取的以机器单位表示的数据量] ) 12、 void glBindBufferRange(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size)
二:关于纹理
// 生成纹理(指定生成纹理名称的数量,指定一个存储生成纹理名称的数组) 1、 void glGenTextures(GLsizei n, GLuint * textures)
// 建立一个绑定到目标纹理的有名称的纹理(纹理被绑定的目标类型,标识符) 2、 void glBindTexture(GLenum target, GLuint texture)
// 指定一个二维纹理图像( 指定纹理目标, 指定详细类型(0代表基本图像), 指定纹理中颜色组件的内部格式, 指定纹理图像的宽(所有实现都支持至少1024像素宽的纹理图像), 指定纹理图像的高(所有实现都支持至少1024像素高的2D纹理图像,以及至少256层深的纹理数组), 0(官方规定必须为0), 指定像素数据的格式, 指向内存中的图像数据的指针 ) 3、 void glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void * data)
// 指定一个二维纹理子图像( 指定纹理绑定到的目标, 指定详细级别编号, 在纹理数组的x方向上指定一个纹理元素的偏移量, 在纹理数组的y方向上指定一个纹理元素的偏移量, 指定纹理子图像的宽度, 指定纹理子图像的高度, 指定像素数据的格式, 指定像素数据的数据类型, 指定指向在内存中图像数据的指针 ) 4、 void glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void * pixels)
// 指定一个三维纹理子图像( 指定纹理绑定到的目标, 指定详细级别编号, 在纹理数组的x方向上指定一个纹理元素的偏移量, 在纹理数组的y方向上指定一个纹理元素的偏移量, 在纹理数组的z方向上指定一个纹理元素的偏移量, 指定纹理子图像的宽度, 指定纹理子图像的高度, 指定纹理子图像的深度, 指定像素数据的格式, 指定像素数据的数据类型, 指定指向在内存中图像数据的指针 ) 5、 void glTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void * pixels)
// 指定存储二维或一维数组纹理的所有级别( 指定纹理对象, 指定详细级别编号, 指定用于存储纹理图像数据大小的内部格式, 指定纹理的宽度(以像素为单位), 指定纹理的高度(以像素为单位) ) 6、 void glTexStorage2D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height)
好文阅读
发表评论