您的位置:首页 > 运维架构

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

2013-02-27 10:29 549 查看
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();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: