Hey folks!
I would like to give you a sneak peak at my new blog at https://BeyondTheBlur.wordpress.com.
I will post some tutorials on SFML.Net there and there is also a SFML (C++ this time) world generator in the making. We are producing articles right now and scheduling them for the beginning of August. I will build a framework on top of SFML for rapid prototyping and building a bunch of useful snippets as we advance in the series.
At the moment I am working on batched drawing with a spritebatch and got some impressive results.
I am rendering 32x32 px objects, all with a single colored texture and monitoring the time from starting to draw until drawing is finished (no event polling ecetera pp). The time is milliseconds per frame. Here is what I got:
- 100 objects: Normal: <0.1 ms/f | Spritebatch: <0.1 ms/f
- 1000 objects: Normal: ~7 ms/f | Spritebatch: <0.1 ms/f
- 10000 objects: Normal: ~90 ms/f | Spritebatch: ~9 ms/f
- 100000 objects: Normal: >1100 ms/f | Spritebatch: ~100 ms/f
Basically I´m writing every texture I load into a texture atlas and use vertex quads to draw them. As my graphic objects just need to save a texture position they are really lightweight.
I think I will cover this at the end of August, as I need to add some features and polish the whole thing. Feedback and feature suggestions are highly welcome
Regards floAr
Hey floAr, your SpriteBatch seems amazing! I've been building a fast-prototyping library for SFML.Net for quite a while, and I would like to open-source it. I would love to give you an hand.
The library features:
* Fixed or dynamic frametime
* Easy asset loading and usage
* Tilesets
* Animations
* Basic game / game window objects
* Component-based entity system for real-time games (separate assembly)
* Component-based entity system for tile-based games (separate assembly)
* Utils class with loads of vector and angle operations
I'm not the best programmer, but I have some experience and since I've already worked on my library for quite a while I would like to collaborate on a similar project. Let me know if you're interested