0

OpenGLES コードを OpenGL に移植しようとしていますが、glVertexAttribPointer について少し混乱しています。OpenGLES コードの一部を次に示します。

//DRAWING OBJECT
// Get buffers from mesh

Mesh mesh = obj.getMesh();
FloatBuffer _vb = mesh.get_vb();
ShortBuffer _ib = mesh.get_ib();
short[] _indices = mesh.get_indices();

//the vertex info
_vb.position(TRIANGLE_VERTICES_DATA_POS_OFFSET);
gl.glVertexAttribPointer(gl.glGetAttribLocation(shader.get_program(), "aPosition"), 3, gl.GL_FLOAT, false,TRIANGLE_VERTICES_DATA_STRIDE_BYTES, _vb);
gl.glEnableVertexAttribArray(gl.glGetAttribLocation(shader.get_program(), "aPosition"));
// Draw with indices
gl.glDrawElements(gl.GL_TRIANGLES, _indices.length, gl.GL_UNSIGNED_SHORT, _ib);

では、OpenGL を使用してバッファを作成するにはどうすればよいでしょうか? OpenGLES では、頂点は glVertexAttribArray 関数の現在の配列バッファーから直接取得されるためです。glBufferData を使用しようとしましたが、うまくいきませんでした。

4

1 に答える 1