Reindeer is a C library for the rendering of virtual scenes, mainly in three dimensions. The library dynamically loads backend modules to do the rendering. Currently there is only a backend for OpenGL, but ideas for future backends are a raytracer, and perhaps Direct3D.

Any number of rendering contexts can live at the same time. Contexts are tied to a backend and backends are automatically loaded and unloaded on demand. Resources are defined globally and can be used by any number of contexts at the same time, even in different backends.

The main goal is to make it easier for developers to write applications that have many rendering contexts with shared resources and automatic state management. Another advantage is that the user can choose in which way a scene should be rendered without recompiling the application. For example, a scene could be rendered with a rasterizer like OpenGL at one point, and with a raytracer at another. Reindeer can also be used to get portable graphics output. Reindeer is not a scene-graph library or a game engine, but it can be used to implement them.

It's still up to the application to create and manage the native contexts that the Reindeer backends can work on. For example, an application would still need to use GLX or equivalent to be able to use the OpenGL backend. The Reindeer project also provides a package called GTK-Reindeer that makes this easier for developers of GTK+ applications.

We are looking for people interested in helping the Reindeer project. Some knowledge of C and OpenGL is probably necessary (but very little or none if you want to help with documentation or other non-programming tasks). If you want to help with the GTK-Reindeer subproject then knowledge of GTK+ is also necessary.

Long-term commitment is not required, but hopefully you are interested in the project and what it will lead to, such as a game engine written in Vala (to be uploaded to Savannah soon) and games (I have ideas for many different games). If you only want to help with a few things, that's fine too. In any case I'll be most grateful.

Right now we are working towards version 0.1 which is going to be the first alpha release. We hope to have it released by the end of April.

If you are interested then please contact me (Patrik Olsson, peo at xaci dot be), or post to the reindeer-dev mailing list. Thank you!