I am trying to create a simple UI toolkit and I am trying to wrap my head around which graphic library fits better to my requirements:
- Easy to use.
- Portable (Linux, macOS, Windows 10)
- Pretty stable (API and implementation).
- Allow accelerated drawing operations inside an image (see later).
- 3D primitives [optional at the moment]
As I understood Piston Graphics is a simple 2D high level library with multiple back-ends, so even it is not maybe super optimized, it satisfies almost my requirements, but I am not sure about the point 4 (point 5 at the moment is more a nice-to-have).
So what I mean with point 4 (“accelerated drawing operations inside an image”)?
Since I am designing a UI toolkit I was thinking that most of the UI widgets/elements could be cached as image and layering them on top of each other (using alpha blending), avoiding to redraw (using drawing primitive) from scratch at every frame. So it would be great to have a graphics library that allows to draw graphics primitive inside a pixels buffer (image) and then just blit them to the video card memory.