OPENGL顶点数组, glDrawArrays,glDrawElements (转)

本文详细介绍了OpenGL中顶点数组的启用、数组数据的告知、绘图方式的使用,包括glVertexPointer、glDrawArrays和glDrawElements等关键函数的应用,并探讨了与顶点数组类似的其他数组支持。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


1.glEnableClientState(GL_VERTEX_ARRAY); 使能顶点数组功能。 

2.将准备好的数组告知程序,使用glVertexPointer(),原型如下:

void glVertexPointer(

GLint size, //每个顶点占用的数组元素数量

GLenum type, //数组元素的数据类型

GLsizei stride, //元素之间的间隔,一般系统为0

const GLvoid *pointer //指向数组的指针

);

3.进行绘图:glDrawArrays()或者 glDrawElements(),glDrawElements()主要用于索引数组。函数原型如下:

void glDrawArrays(

GLenum mode, //绘图方式 GL_POINTS、GL_QUADS etc

GLint first, //第一个元素的下标

GLsizei count //绘制元素的数量

);

void glDrawElements(
GLenum mode, //绘图方式 GL_POINTS、GL_QUADS etc

GLsizei count, //顶点数组当中元素的个数

GLenum type, //索引数组当中元素数据类型

const GLvoid *indices //指向索引数组的指针

);

对应于顶点数组,OpenGL当中还提供了法向量数组、纹理坐标数组等等的支持,这些数组与顶点数组的使用方式相同,只是在相关参数和函数名称上将Vertex改为对应的名字即可。

glEnableClientState(GL_COLOR_ARRAY);

glColorPointer();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值