luminance
is an effort to make graphics rendering simple and elegant. The aims of luminance
are:
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.
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 ;).
luminance
support five kinds of shader stages:
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 ;).
luminance-gl
: OpenGL backend; luminance-gl
github pageluminance
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.
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
).