What is this?

crates.io License

luminance is an effort to make graphics rendering simple and elegant. The aims of luminance are:

What’s included?

luminance is a rendering framework, not a 3D engine. As so, it doesn’t include stuff like lights, materials, asset management nor scene description. It only provides a rendering framework you can plug in whatever libraries you want to.

luminance ecosystem

Because I think it’s important to KISS, luminance is split in very several, very simple packages. The idea is that the luminance package is the core package of the library. It provides all the interface, common algorithms and the overall architecture and how you should interact with a GPU. However, you need a backend to interpret that code and make it run – one could even imagine a backend making it run on a CPU!

Feel free to search for luminance-* packages and pick the one you need ;).

Features set

Current backends

Here’s a list of backends for luminance. If you’ve written one and like to make it appear in that list, feel free to contact me on github or push a PR ;).

Windowing

luminance does not provide point a way to create windows because it’s important that it not depend on windowing libraries so that end-users can use whatever they like. Furthermore, such libraries typically implement windowing and events features, which have nothing to do with our initial purpose.

How to dig in?

luminance is written to be fairly simple. The documentation is very transparent about what the library does and several articles will appear as the development goes on. Keep tuned! Online documentation is planned but in the waiting, feel free to generate the documentation on local and browse it with the projects you’re linking luminance against! (cargo doc).