Anonymous avatar Anonymous committed ead95e6

VBO.bake now nulls vertices and sets baked flag

Comments (0)

Files changed (1)

src/main/java/sandbox/util/VBO.java

     public void bind() {
         if (!baked)
             bake();
-        size = vertices.size();
         if (positionBufferId != 0) {
             glBindBuffer(GL_ARRAY_BUFFER, positionBufferId);
             glVertexPointer(4, GL_FLOAT, 0, 0);
 
     public void bake() {
         assertNotBaked();
+
         if (vertices.size() == 0)
             throw new IllegalStateException("No vertices in VBO");
 
+        size = vertices.size();
         Vertex templateVertex = vertices.get(0);
         if (templateVertex.position != null)
             bakePositions();
         if (templateVertex.texCoord != null)
             bakeTexCoords();
 
+        vertices = null;
+        baked = true;
+
 //        bakeIndices();
 
     }
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.