一,在shader中创建顶点属性
attribute *
顶点属性的值在vetex shader中无法修改; 并且无法创建数组;
二,获得shader中顶点属性的index, 用于访问顶点属性(提供顶点属性的数据)
glBindAttribLocation 甚至可以在pragram object没有创建前调用;
三,向顶点属性提供数据
1,常量的方法
用于所有的顶点的数据都相同的情况
2,顶点数组
每次调用渲染指令时都需要将顶点数据从内存拷贝到显存;
a, glVertexAttribPointer函数最后一个参数指定了数据保存的位置;
如果是buffer object方式提供的数据,那就是偏差值;
3,Buffer Object
最有效率的方法,直接将顶点数据放在显存中;
a, 获得index, gpu现存指针
b, 创建显存
c, 向显存提供数据
d,为顶点提供数据
四,在非shader代码中查询顶点属性的信息