Latest version is on github, will add a few extra samples to go along with the source code later today.
Still have to move some more math onto the gpu but its working well at the moment :), need to do some more testing as the more that I shift to the gpu the smaller the batches become and the draw call savings get lessened 🙁
Latest version is a bit faster handling 50,000 objects in under 10 ms no sweat (about 6-7 ms on my upper-mid range machine).
Added the use of asc2 fast bytearrays and it speeds it up a little, but not a great deal so will leave that out I think to maximise compatibility.
Just want to move a bit more math onto the GPU (still have a few multiplications and divisions that can be moved over to save a few cycles).
Once that is done I will update on github. Next step is putting rotation back in and maybe an alpha multiplier.
You can find it on github here:
drawing textured quads of a given position and size, with option texture offsets and scales
add rotation – reduces performance as it will add to the number of registers required per quad, 3 no longer 2 (but all math done on gpu so no big deal)
(knowing if there is demand for this will be useful)
add more texture methods, i.e. auto mip map generation and non power of 2 size fixing function
Colourization, and other advanced effects.
Please give it a test drive and feedback on anything that works well, or doesn’t, anything missing?
Will keep this updated as I change things. Will also add a few demos when time permits.
http://bwhiting.co.uk/b3d/b2dLite/ <– 10,000 objects
Another demo courtesy of Peter Strømberg: