Saturday, December 7, 2013

VBOs and VBAs

PlumeriaSC is coming along nicely and should be available at the beginning of 2014. I was planning to get PlumeriaSC out by December but the Beta testers wanted the capability of creating VBAs. So what is a VBA? To understand what a VBA is I will explain what a VBO is first. VBO stands for Vertex Buffer Object. A VBO stores vertices and their attributes in a block of memory. Without a VBO the vertices are updated immediately and not stored in high performance memory. Since VBOs are preloaded into memory you can update larger amounts of polygons. PlumeriaSC 1 and 2 use VBOs but only PlumeriaSC 2 has VBAs. A VBA which stands for Vertex Buffer Array allows programmers to combine VBOs and store them in one block of memory. There is one big problem with some implementations of VBOs and VBAs. It is very difficult to replace, remove, or change the vertices that are loaded into memory. PlumeriaSC 2 allows for easy access to VBAs so the data can be changed or replaced without slowing the performance significantly.