What is this?

Join the chat at https://gitter.im/phaazon/luminance-rs

Build Status crates.io docs.rs License

Important note: currently, luminance is supposed to be used with a nightly compiler. This will change soon as the unstable features get stabilized. Be patient!

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 support instancing an OpenGL context and create a window.

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

Features set

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.

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 ;).

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! Feel free to generate the documentation on local and browse it with the projects you’re linking luminance against! (cargo doc).