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.
-jim
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe