实例分析:

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

这里需要做一个强制类型转换:

 

 

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐