LambdaCube 3D is a domain specific language and library that makes it possible to program GPUs in a purely functional style.
You can find more info in the development blog. http://lambdacube3d.wordpress.com/
Lambdacube-core contains the graphics EDSL and the OpenGL 3.2 backend.
Install: cd lambdacube-core cabal install
Quake III level viewer demo application for lambdacube-core. It requires the *.pk3 data files from original Quake 3 demo or full version of game. Addtionally custom made game levels are available from http://lvlworld.com. During startup the application will find all .pk3 files available in the current directory. The map name can be given as an argument of the q3demo executable.
Install: git clone https://github.com/csabahruska/quake3 cd quake3 cabal install Example usage: q3demo q3dm1
A revival of the classic racing game Stunts to serve as a non-toy-sized example for LambdaCube.
It depends on the Bullet physics engine haskell binding. It is available from git repository only.
git clone git://github.com/csabahruska/bullet.git
The bullet installation instructions can be found in bullet/README. In order to make the stunts demo work, you need to download the original game as per the instructions given by the program.
Install: git clone https://github.com/csabahruska/stunts cd stunts cabal install Usage: stunts