实例分析:
index:第几个属性,从0开始取,0,1,2,顺序自己定义,例如顶点位置,纹理,法线
这里只有顶点位置,也只能讨论顶点位置,所以为0
size:一个顶点所有数据的个数,这里每个顶点又两个浮点数属性值,所以是2
type:顶点描述数据的类型,这里position数组中的数据全部为float,所以是GL_FLOAT
normalized:是否需要显卡帮忙把数据归一化到-1到+1区间,这里不需要,所以设置GL_FALSE
stride:一个顶点占有的总的字节数,这里为两个float,所以是sizeof(float)*2
pointer:当前指针指向的vertex内部的偏离字节数,可以唯一的标识顶点某个属性的偏移量
这里是指向第一个属性,顶点坐标,偏移量为0
如果上面又出现了一个属性:(只写出了第一个顶点的)
那么此时当我指向第二个属性的时候,即0.5f,偏移量就为sizeof(float)*2,此时pointer参数位置需要填入sizeof(float)*2
这里需要做一个强制类型转换: