LibGDXプロジェクトで作業する基本的なカスタムシェーダを取得しようとしています。 VAOを生成しようとすると、glGenVertexArrays()
にはint(n)とIntBuffer(バッファ)が必要です。私はIntBufferが割り当てられたバッファスペースにどのようにアクセスするのか知っていますが、正に何がnに入るのか分かりません。私が検索しているすべての例では、glGenVertexArrays()
は引数のないメソッドで、VAOのintインデックスを返します。これを設定したりバインドしたりするために使用できます。glGenVertexArrays()には引数がありません
私はどう思いますかこれを使ってVAOを設定し、私の見てきた他のLWJGLの例とメソッドのシグネチャが異なるのはなぜですか?
//Normal methods
.glGenVertexArrays(int n, int[] arrays, int offset);
.glGenVertexArrays(int n, IntBuffer arrays);
//Method specifically for AndroidGL30.glGenVertexArrays(...
.glGenVertexArrays (int n, java.nio.IntBuffer arrays);
ほとんどの場合n
が無視されるか、単に配列サイズとして使用する:あなたが唯一のオブジェクトに応じて、これら3のいずれかの方法でそれを呼び出すことができますlibgdxのソースによると
実際、LWJGLは標準に準拠していないライブラリです。 OpenGL仕様によれば、 'glGenVertexArrays'は常に整数(生成するVAOの数)と、ハンドルが格納される記憶域セグメントをとります。 – BDL