Home

Awesome

What is this?

Hackage License

luminance is an effort to make graphics rendering simple and elegant in Haskell. It’s forked from a larger project which was closed because way too complex and bloated. The aims of luminance are:

The first version of luminance will be released of hackage and stackage as a BSD3 library.

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. The single restriction – yet – is that you must have an operating system with OpenGL installed.

Features set

What are the prerequisites?

In order to use luminance, you need several prerequisites to be fulfilled. Those prerequisites determine which backend you will be able to use. Currently, two backends are available: gl33 and gl45.

The backends can be enabled through compilation flags. You should only pick one as the more recent will be preferred over others. However, some of the flags can be combined. If you want bindless textures, you should enable the flags gl45 and gl-bindless-textures.

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 purposes. However, a few packages might come up, like luminance-glfw if such libraries are judged useful.

How to dig in?

luminance is written to be fairly simple. The documentation – on hackage – is very transparent about what the library does and several articles will appear as the development goes on. Keep tuned!