[OpenGL] glVertexAttribPointer用法理解,实例分析

 

 

 

 

实例分析:

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

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

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值