Defenestrate the bifurcators!

Awesome2D (Bachelor thesis)


Awesome2D (or Advanced Lighting in 2D graphics) is my bachelor’s thesis, mentored by RNDr. Ladislav MikeŇ°. Its goal is to create a 2D lighting model utilizing various pre-generated data (such as normal maps) to create an illusion of 3D lighting in 2D graphics, and optionally research and compare various different 2D lighting models.


I’m writing a demo application for this project in the D programming language, using the OpenGL API and the GLSL shading language. However, the concepts will be implementation independent.

The project will also involve one or more utility tools to generate data used for 2D lighting; for example rendering 2D normal maps from 3D models.

The code is open source, licensed under the Boost license.

Implementation start

Implementation is in very early stages at the moment; I’ve just started writing a basic rendering API to build the demo application with. Various utility code is recycled from my previous D projects. The rendering API is similar in design to my work on Stellarium, but scaled down to the bare minimum needed for this project, and improved with D-specific features.