示例#1
0
 /**
  * @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)
 }
示例#2
0
 public void addDataByFloatArray(float[] a) {
   if (a == null) return;
   for (float c : a) {
     floatlist.add(c);
   }
 }
示例#3
0
 /**
  * @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);
   }
 }
示例#4
0
 /**
  * @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();
 }