簡體   English   中英

Java-緩沖區向量

[英]Java - vector of vectors to Buffer

我完全害怕在Java中有多難。

我正在使用OpenGL ES 2.0,這要求我在此處和此處傳遞緩沖區。

想象一下,我存儲了一個對象向量。 每個對象都存儲許多東西以及它存儲的頂點。 看起來像這樣:

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

現在,我需要將它們轉換為緩沖區(我想是FloatBuffer)。 我嘗試了很多方法來做,但是似乎沒有什么比它快/它們很笨,可能無法正常工作。

有人可以告訴我正確的方法嗎?

@編輯

只是為了澄清-我需要有一個緩沖區,用於保存所有對象的所有頂點。

偽代碼

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

使用包裝方法怎么樣?

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM