Implementation in Rust of the ray tracer presented in "The Ray Tracing Challenge" book by Jamis Buck.
Here is the book's cover image, rendered with the ray tracer.
- colors representation
- canvas
- linear algebra (through the glam crate)
- ray-sphere intersections
- phong shading
- world description
- camera
- shadows
- planes
- patterns
- reflections
- refractions
- cubes
- cylinders
- cones
- object groups
- bounding boxes
- Bounding Volume Hierarchies (BVH)
- triangles
- obj importing
- smooth triangles
- constructive solid geometry
- yaml scene descriptions importing
- antialiasing (supersampling method)
- area lights
- focal blur
- motion blur
- texture mapping
- CPU parallel rendering