glDrawElements:
这个函数要注意, 在OpenGL下,我们用的多的是:
glDrawElements(GL_TRIANGLES,ntrivert,GL_UNSIGNED_INT,trivert);
第一个参数是类型
第二个点数目
第三个指的是第四个参数的类型
第四个参数是三角形的索引数据
可以这么理解, 拿四边形来举例,有点(v1,v2,v3,v4)保存在数组中, 第二个参数就是4,即有4个顶点数据,
这四个顶点数据如何组成两个三角形呢? trivert事实上就是一个索引数组, 它的数目应该是6个, 每个值记录着对应四边形数据中的某个点.如trivert[0]=0, trivert[1]=1,trivert[2]=3, 即第一个三角形是使用(v1,v2,v3)来构成
说的都是废话,大家应该知道, 我要说的是, 这里要注意第三个参数, GL_UNSIGNED_INT在OpenGL ES下已经不支持了, 现在只支持: GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT这两个参数, 我想不用说也知道,INT点4个字节, BYTE占一个,SHORT占两个, 能省就省吧,
所以, 大家一定要注意trivert这个索引数组的类型, 必须为GluByte或GluShort