Pigeon

Latest Version Docs License

A simple, flexable, cross-platform 2D rendering library.

Why

Pigeon's development is primarily driven by the need for a graphical backend for AVN. However I also wanted to keep it seperate from AVN so it could be used for other projects.

Design

I wanted it to be simple, small, portable and flexable. Pigeon isn't designed to manage your application and create windows, it just draws shapes to a screen real good (or as good as I can make it).

You can see some examples in the example folder

Goals

Non goals

Pigeon implements a form of auto-batching where all the graphics that are rendered with the same pipeline are grouped together into one large vertex and index array. They are then sorted by texture to minimise the swapping of texture bind groups during rendering.

Pigeon designed to come with very little build in, but instead with the ability to expand with your own pipelines using parrot and your own graphics using pigeon.

Future plans

Looking into web assembly

Disclaimer

I am very new to graphics programming and this is more or less an effort to increase my understanding. Use at your own risk. Also, the API is still unstable and succeptable to changes