/** * @param id * @param data @Info Stocke le FloatBuffer dans le GPU */ public void bufferData() { buffer = BufferUtils.createFloatBuffer(floatlist.size()); for (Float f : floatlist) { buffer.put(f); } buffer.flip(); glBindBuffer(GL_ARRAY_BUFFER, vboID); glBufferData(GL_ARRAY_BUFFER, buffer, GL_STATIC_DRAW); // glBufferSubData(vboID, 0, buffer); glBindBuffer(GL_ARRAY_BUFFER, 0); bufferSize = buffer.limit() / 7; // 7 = 3 vertex(x,y,z) + 4 color (r,g,b,a) }
public void addDataByFloatArray(float[] a) { if (a == null) return; for (float c : a) { floatlist.add(c); } }
/** * @param a @Info () doit contenir par ligne au moins l'axe (x,y,z) + les couleurs (r,g,b,a) Ex: * getFloatBufferbyFloatList(x,y,z,r,g,b,a) */ public void addDataByFloatList(float... a) { if (a == null) return; for (float c : a) { floatlist.add(c); } }
/** * @param a @Info () doit contenir par ligne au moins l'axe (x,y,z) + les couleurs (r,g,b,a) Ex: * getFloatBufferByFloatArray(new float[]{x,y,z,r,g,b,a}) */ public void clearBuffer() { floatlist.clear(); }