首先我们先来了解一下什么顶点数组。顾名思义顶点数组就是存放顶点数据的数组,那么顶点数组的作用是什么?举一个例子:有一张员工薪水表,要求你把薪水5000元以上员工的姓名的挑选出来,我相信你会把符合条件的员工的姓名挑选出来,再在后面标明"以上是员工薪水5000元以上名单",而不是在每一个符合条件的员工姓名后面加"此员工薪水在5000元以上"。顶点数组就有这样的味道,他不需要你每个顶点都亲自指定,而是你只需要把你需要指定顶点放在一个数组中。然后再调用一个函数,这个函数会帮指定这个数组里的顶点。可能现在你可能对顶点数组对象还是不了解,没关系,下面的例子将会体现顶点数组的作用。
使用顶点数组需要经过3个步骤:
1. 激活(启用)顶点数组,可以激活的数组当然不止顶点数组,顶点数组只是存放渲染几何图形数据数组一种。除顶点数组外其他数组可以存放表面法线、RGBA颜色、辅助颜色、颜色索引、雾坐标、纹理坐标以及多变形边界标志。
2. 把顶点数据放入一个数组中。
3. 用这些顶点指定几何图形的顶点。OpenGL是通过指针从所有已激活的数组获取数据。这里的指针是指在激活某个数组后被指定数组的指针。
步骤1:调用glEnableClientState()函数,函数原型如下:
当然也可以禁用某一个数组,可以调用glDisableClientState()函数,函数原型如下:
步骤2:指定数组的数据:
可以通过glVertexPointer()函数来指定顶点数组的数组数据:原型如下:
为了可以访问其他几个数组,我们可以用下面的函数: