0

glVertexAttribPointerOpenGL の学習を始めましたが、最後のパラメーターの意味がわかりません。

4

1 に答える 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 に答える