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/
- Host: GitHub
- URL: https://github.com/jtdaugherty/tracy
- Owner: jtdaugherty
- License: bsd-3-clause
- Created: 2013-04-07T06:01:49.000Z (over 12 years ago)
- Default Branch: master
- Last Pushed: 2019-12-15T00:51:51.000Z (almost 6 years ago)
- Last Synced: 2025-03-24T11:07:57.955Z (7 months ago)
- Topics: graphics, haskell, linear-algebra, multi-core, multi-host, ray-tracer, tracer
- Language: Haskell
- Homepage:
- Size: 46.7 MB
- Stars: 23
- Watchers: 4
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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 ||