Java - 向量向量缓冲区

时间:2013-09-15 21:04:08

标签: java opengl vector

我完全害怕java中有多难......

我正在使用OpenGL ES 2.0,它要求我在这里和那里传递缓冲区。

想象一下,我存储了一个对象矢量。每个对象存储许多东西,以及它存储的顶点。它看起来像这样:

class MyObject {
    Vector<Float> vertices;
}
Vector<MyObject> objects;

现在,我需要将它们转换为Buffer(FloatBuffer,我猜)。我试图做很多事情,但似乎没有一个接近快/他们是愚蠢的,可能无法正常工作。

有人能告诉我正确的方法吗?

@EDIT

只是为了澄清 - 我需要一个缓冲区来保存来自所有对象的所有顶点。

伪代码

float[] allvertices;
for(i = 0; i<objects.length; i++)
   for(n = 0; n<objects[i].vertices.length; n++)
       allvertices.add(objects[i].vertices[n]);
// Now convert allvertices to buffer

1 个答案:

答案 0 :(得分:0)

如何使用wrap方法?

float[] values = new float[vertices.size()];
int index = 0;
for (Float f : vertices) {
    values[index++] = f;
}
FloatBuffer b = FloatBuffer.wrap(values);