Skip to content

jtdaugherty/tracy

Repository files navigation

tracy - a Haskell ray tracer

Features:

  • Basic idealized primitives: triangles, spheres, concave spheres, boxes, planes, tori, rectangles, triangle meshes
  • Mesh shading modes: flat, smooth (when vertex normals are available), textured (when UV coordinates are available)
  • Mesh file formats: PLY
  • Acceleration aids: regular grids, bounding volume hierarchies
  • Materials and shading: phong, matte, perfect specular reflection, glossy specular reflection, blended materials
  • Image-based textures
  • Procedural textures: planar checkers, spherical checkers
  • Texture mappings: rectangular, tiled (planar), spherical
  • Object instancing
  • Object transformations
  • Samplers: regular, random, jittered, multi-jittered, correlated multi-jittered
  • Global illumation: ambient occlusion, path-tracing
  • Cameras: thin-lens
  • Light source types: ambient, point, area (rectangles only), environment
  • Console output with status information
  • Live GUI window with progressive rendering
  • YAML-based scene file format
  • Basic animation support for some scalar and vector parameters
  • Movie output when rendering more than one frame
  • Multi-core rendering engine using Haskell's parMap evaluation strategy
  • Network rendering (run tracy -d tcp://slave:9000 on the master, tracy-node on the slave(s))
Demo Image
Basic shapes with ambient occlusion
Thin-lens depth of field
Stanford Bunny
Dragon mesh
Area lights
Specular reflection
Path-traced table and chairs
Blended materials
Textures