A straightforward Rust implementation of the books Ray Tracing in One Weekend and Ray Tracing: The Next Week by Peter Shirley.
This proof-of-concept ray tracer includes the following features:
- Lambertian diffuse shading
- Hemispherical scattering diffuse shading
- Metallic materials
- Dielectric materials, such as water and glass
- Depth-of-field blur effects
- Motion blur and moving objects
- Bounding volume hierarchy (BVH) trees
- Constant color and checkered texture mapping
- Perlin noise texture mapping
- Image texture mapping
- Light sources and emissive materials
- Model instancing
- Scene abstraction
- Parallel scanline rendering and multisampling with rayon
- Parallel BVH computation with rayon
The architecture is currently in the MVP (minimum viable product) state. Further features and improvements are forthcoming, some chosen from the "next steps" self-guided exercises and others from the book's seminal sequel Ray Tracing The Next Week.