You are not logged in.

#1 2009-10-30 17:25:25

tavianator
Member
From: Waterloo, ON, Canada
Registered: 2007-08-21
Posts: 859
Website

Dimension - a ray-tracer with C and Python bindings

Dimension started out two years ago as my attempt to write a multi-threaded clone of POV-Ray, since version 3.7 has been in development for quite some time.  Recently, though, I've decided to make it into my own vision for POV-Ray 4.0, their proposed rewrite with a new Scene Description Language.  Dimension now uses scene files written in Python 3, which is quite a bit faster to parse than POV-Ray's SDL, and gives a lot more flexibility.  Now, you can simply write a scene file like this:

background = White
lights.append(PointLight(location = 5*Y, color = White))
objects.append(Sphere(radius = 1, center = 2*Z, pigment = Red))

and "dimension <scene>.dmnsn" will render what looks like a 3D Japanese flag.  The directory dimension/tests has some more intricate examples.

You can get the source code from here, and the C interface is documented here.  It is released under the GPLv3.

Quick instructions for trying out:

# pacman -S cython # If you don't have it already
$ git clone git://tavianator.com/dimension
$ cd dimension
$ ./autogen.sh && ./configure CFLAGS="-g -O2 -Wall"
$ make check
$ display dimension/tests/complex.png
$ PYTHONPATH=libdimension-python/.libs ./dimension/dimension <scene>.dmnsn # Needed to use the 'dimension' program while it's not installed

AUR Package: http://aur.archlinux.org/packages.php?ID=34998

Last edited by tavianator (2011-06-17 20:12:47)

Offline

#2 2011-06-17 20:12:03

tavianator
Member
From: Waterloo, ON, Canada
Registered: 2007-08-21
Posts: 859
Website

Re: Dimension - a ray-tracer with C and Python bindings

Bump, as it's changed significantly from when I first posted this here.

Offline

Board footer

Powered by FluxBB