This is the implementation of a simple packing algorithm running on CPU. Each new item is given a random position, and then grows as big as possible without intersecting the others.

You can zoom anywhere you want by using the left mouse button.

Items count:
Visible items count:
Time spent in mainLoop():
Time spent in mainLoop.draw():
Time spent in mainLoop.draw.allocateBuffer():
Time spent in mainLoop.draw.fillBuffer():
Time spent in mainLoop.draw.uploadVBO():
Time spent in mainLoop.draw.drawX():
Time spent in mainLoop.update():
Time spent in mainLoop.update.reindex():
Time spent in mainLoop.update.reindex.resetDomain():
Time spent in mainLoop.update.reindex.reindexIntems():
Time spent in mainLoop.update.recycle():
Time spent in mainLoop.update.zoom():
Items recycled per second:
Items pending recycling:
Items recycling tries per frame:
Grid size:
Grid cell size:
Grid items per cell:





Debug collisions