[Haskell-cafe] announce: Glome.hs-0.3 (Haskell raytracer)

Don Stewart dons at galois.com
Fri Apr 18 14:43:27 EDT 2008

> A new version of my raytracer is out.  It now supports cones, cylinders, 
> disks, boxes, and planes as base primitives (previously it only 
> supported triangles and spheres), as well as transformations of 
> arbitrary objects (rotate, scale, translate) and the CSG operations 
> difference and intersection.  Perlin noise and Blinn highlights have 
> been added, as well.
> http://syn.cs.pdx.edu/~jsnow/glome/
> Glome can parse NFF-format scene files (see 
> http://tog.acm.org/resources/SPD/), but many features are only 
> accessible via raw Haskell, since NFF doesn't support very many kinds of 
> primitives.  I included a TestScene.hs file that demonstrates how to 
> create a scene with various kinds of geometry (including a crude attempt 
> at a recursively-defined oak tree) in haskell.  There isn't any 
> documentation yet, but many of the primitives have constructors that 
> resemble their equivalents in povray, so anyone familiar with povray's 
> syntax should be able to figure out what's going on.

Very impressive. Did you consider cabalising the Haskell code, so it 
can be easily distributed from hackage.haskell.org?

I note on the website you say:

    "no threading (shared-memory concurrency is not supported by ocaml,
    in haskell it's buggy)"

Could you elaborate on this? Shared memory concurrency is a sweet spot
in Haskell, and heavily utilised, so I think we'd all like to know more

-- Don

More information about the Haskell-Cafe mailing list