See full gallery of test scenes
A raytracer written in rust.
Supports:
-
Tracing (Integrator)
- Whitted tracing
- Path tracing with basic Monte-Carlo global illumination
- Lambertian
- Specular
- Dielelectric
-
Objects
- Sphere
- Plane
- Mesh
- OBJ file to mesh import
- Infinite Mesh
-
Skysphere with Rayleigh and Mie Scattering
-
Procedural Objects
- Ocean (Tessendorf's algorithm with Phillips spectrum)
- Random Cubes
-
Multithreaded
-
Progressive rendering
cargo run --release -- -p demo/demo.json
- An Efficient Parametric Algorithm for Octree Traversal, J. Revelles, C. Urena, M. Lastra
- Simulating Ocean Water, J. Tessendorf
- Physically Based Raytracing, M. Pharr, W. Jakob, G. Humphreys
- Roth, S. D. (1982). Ray casting for modeling solids.
This is the latest in a series of raytracers I've implemented to make art, learn languages, and explore algorithms.