/bildpunkt

Weekend project: bildpunkt - a GPU-based distance field renderer

Primary LanguageHaskellGNU General Public License v3.0GPL-3.0

Weekend project: bildpunkt

Bildpunkt is a simple GPU-based distance field renderer. It is written in Haskell using the accelerate library.

The following sample images are rendered in around 4 seconds on a GeForce GTX 650 Ti Boost.

sample image 1 sample image 2

Building

$ git clone https://github.com/apunktbau/bildpunkt
$ cd bildpunkt
$ cabal configure && cabal build
$ ./dist/build/bildpunkt/bildpunkt simple1 simple1.png

Rendering

Currently there is no textual input, so scenes must be built by writing Haskell code. Check Bildpunkt.Scene for some simple pre-built scenes. To render your scene, add a new match

"yourSceneName" -> Scene.yourScene

to Bildpunkt.Main.renderScene.config and run

$ bildpunkt yourSceneName image.png

Bildpunkt.DistanceField provides all distance fields you can use to build a scene.

For more information on distance fields, see Iñigo Quílez' website.