An open API service indexing awesome lists of open source software.

https://github.com/jtdaugherty/tracy

A Haskell ray tracer largely based on http://www.raytracegroundup.com/
https://github.com/jtdaugherty/tracy

graphics haskell linear-algebra multi-core multi-host ray-tracer tracer

Last synced: 6 months ago
JSON representation

A Haskell ray tracer largely based on http://www.raytracegroundup.com/

Awesome Lists containing this project

README

          

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 | |