0

glDrawArraysおよびglVertexPointerコマンドの使用方法を説明するチュートリアルを見るときはいつでも、それらが使用する引数は、私が利用できるものとは異なります。

例:チュートリアルでは、次のようなパラメーターを使用してglVertexPointerを呼び出します:(頂点はfloatの配列です)

glVertexPointer(3, GL_FLOAT, 0, Vertices);

私が利用できるパラメータは次のとおりです。

glVertexPointer(int size, int stride, FloatBuffer pointer);

私の質問は:glVertexPointer()を使用する正しい方法は何ですか?

4

1 に答える 1

2

glVertexPointer、名前が示すように、ポインタの使用に基づいています。ポインタが存在しないJavaを使用しています。したがって、Javaに相当するものは異なる方法で動作する必要があります。glVertexPointer特別なメモリ配列オブジェクトを取得する必要があります。これは、実際の呼び出しに渡されるCポインタに内部的に変換できます。

Javaはバッファの内容に型を置くため、明示的な型フィールドは必要ありません。LWJGLにはいくつかのオーバーロードがglVertexPointerあり、それぞれが異なるタイプのバッファーを使用します。

于 2013-03-24T20:33:46.927 に答える