/lambdacube-edsl

Purely Functional Rendering Engine

Primary LanguageHaskell

#LambdaCube 3D 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

Lambdacube-core contains the graphics EDSL and the OpenGL 3.2 backend.

Install:
    cd lambdacube-core
    cabal install

##Q3Demo 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

##Stunts 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

##Screenshots
Stunts demo 1

Stunts demo 2

Quake III level viewer

githalytics.com alpha