OpenGL常用函数

一、OpenGL常用函数

1、glVertexAttribPointer()函数

作用:

告诉 OpenGL 如何解析顶点缓冲区对象(VBO)中存储的顶点数据。

函数原型:

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

参数解析:

各参数的含义如下:

  • index:指定要配置的顶点属性的索引。在 OpenGL 着色器程序中,每个顶点属性都有一个唯一的索引,用于标识该属性。例如,顶点的位置属性可能索引为 0,颜色属性可能索引为 1。
  • size:表示每个顶点属性由多少个组件组成。例如,顶点的位置通常是三维坐标(x, y, z),所以 size 为 3;如果是二维纹理坐标(s, t),则 size 为 2。
  • type:指定顶点属性中每个组件的数据类型,常见的取值有 GL_FLOAT(浮点数)、GL_INT(整数)等。
  • normalized:一个布尔值,指示当数据类型不是浮点数时,是否需要对数据进行归一化处理。如果设置为 GL_TRUE,则会将数据归一化到 [0, 1](无符号数据)或 [-1, 1](有符号数据)的范围内;如果设置为 GL_FALSE,则数据会直接使用,不进行归一化。
  • stride:表示相邻两个顶点属性之间的字节偏移量,即从一个顶点的某个属性到下一个顶点的相同属性之间的距离。如果顶点数据是紧密排列的,没有额外的填充字节,stride 可以设置为 size * sizeof(type);如果顶点数据中包含多种属性,stride 则需要根据实际情况计算。
  • pointer:表示当前顶点属性在 VBO 中的起始偏移量,通常是一个指向 VBO 中数据起始位置的指针。如果该属性是 VBO 中第一个属性,pointer 可以设置为 (GLvoid*)0。

工作原理:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值