我开始学习OpenGL,但我不明白最后一个参数是什么glVertexAttribPointer
意思。
问问题
404 次
1 回答
4
这是您正在使用的数组的指针偏移量。但是,您必须将其转换为指针的字节数,这并不完全直观。
如果您使用交错属性,则它是从该属性的开头到第一个实例的字节数。
例子:
VVVNNNTTVVVNNTT
其中顶点位置数据,N是法线向量,T是纹理坐标。
V 的偏移量是0
(它在开头)
N 的偏移量是(GLvoid*) (3*sizeof(vertex data type))
T 的偏移量是(GLvoid*) (3*sizeof(vertex data type) + 3*sizeof(normal data type) )
此外,如果您有连续的属性,它也将是每个属性的起点。
例子:
VVVV...VVVNNN...NNNTT...TT
V 的偏移量是0
(它在开头)
N 的偏移量是(GLvoid*) (3*sizeof(vertex data type)*number_of_vertices)
T 的偏移量是(GLvoid*) (3*sizeof(vertex data type)*number_of_vertices + 3*sizeof(normal data type)*number_of_normals)
于 2013-07-21T15:19:20.673 回答