1回の描画呼び出しで、符号なし整数と浮動小数点データをグラフィックカードにアップロードするとします。私は標準のVBO(VAOではなくOpenGL 2.0を使用しています)を使用し、さまざまな頂点属性配列を1つGL_ARRAY_BUFFER
に結合し、を使用して個別にポイントしているglVertexAttribPointer(...)
ため、次のようになります。
glBindBuffer(GL_ARRAY_BUFFER, vertexBufferId);
glEnableVertexAttribArray(positionAttributeId);
glEnableVertexAttribArray(myIntAttributeId);
glVertexAttribPointer(positionAttributeId, 4, GL_FLOAT, false, 0, 0);
glVertexAttribPointer(colorAttributeId, 4, GL_UNSIGNED_INT, false, 0, 128);
glClear(...);
glDraw*(...);
ここでの問題は、バッファ(によって参照されるvertexBufferId
)をLWJGLで作成する必要があることです。これFloatBuffer
により、タイプの属性をサポートできるようになります。GL_FLOAT
これにより、GL_INT
ここ(または逆の場合-バッファを2つのタイプにすることはできないため、どちらか一方になります)。
何か案は?これはネイティブCコードでどのように処理されますか?