Opengl glVertexAttributePointer的最后一个参数是什么意思?
我开始学习OpenGL,但我不明白Opengl glVertexAttributePointer的最后一个参数是什么意思?,opengl,parameters,Opengl,Parameters,我开始学习OpenGL,但我不明白glvertexattributepointer中的最后一个参数是什么意思。它是指向正在使用的数组的指针偏移量。然而,您必须将字节计数转换为指针,这并不完全直观 如果使用的是交错属性,则是从该属性的开始到第一个实例的字节数 例如: VVVNNNTTVVVNNTT VVVV...VVVNNN...NNNTT...TT 其中,顶点位置数据,N是法向量,T是纹理坐标 V的偏移量为0(位于开头) N的偏移量是(GLvoid*)(3*sizeof(顶点数据类型)) T
glvertexattributepointer
中的最后一个参数是什么意思。它是指向正在使用的数组的指针偏移量。然而,您必须将字节计数转换为指针,这并不完全直观
如果使用的是交错属性,则是从该属性的开始到第一个实例的字节数
例如:
VVVNNNTTVVVNNTT
VVVV...VVVNNN...NNNTT...TT
其中,顶点位置数据,N是法向量,T是纹理坐标
V的偏移量为0
(位于开头)
N的偏移量是(GLvoid*)(3*sizeof(顶点数据类型))
T的偏移量是(GLvoid*)(3*sizeof(顶点数据类型)+3*sizeof(正常数据类型))
此外,如果您有连续属性,那么它也将是每个属性的起点
例如:
VVVNNNTTVVVNNTT
VVVV...VVVNNN...NNNTT...TT
V的偏移量为0
(位于开头)
N的偏移量为(GLvoid*)(3*sizeof(顶点数据类型)*顶点数)
T的偏移量为
(GLvoid*)(3*sizeof(顶点数据类型)*顶点数+3*sizeof(法线数据类型)*法线数)
这是指向正在使用的数组的指针偏移量。然而,您必须将字节计数转换为指针,这并不完全直观
如果使用的是交错属性,则是从该属性的开始到第一个实例的字节数
例如:
VVVNNNTTVVVNNTT
VVVV...VVVNNN...NNNTT...TT
其中,顶点位置数据,N是法向量,T是纹理坐标
V的偏移量为0
(位于开头)
N的偏移量是(GLvoid*)(3*sizeof(顶点数据类型))
T的偏移量是(GLvoid*)(3*sizeof(顶点数据类型)+3*sizeof(正常数据类型))
此外,如果您有连续属性,那么它也将是每个属性的起点
例如:
VVVNNNTTVVVNNTT
VVVV...VVVNNN...NNNTT...TT
V的偏移量为0
(位于开头)
N的偏移量为(GLvoid*)(3*sizeof(顶点数据类型)*顶点数)
T的偏移量为(GLvoid*)(3*sizeof(顶点数据类型)*顶点数+3*sizeof(法线数据类型)*法线数)