This is my implementation of the book The Ray Tracer Challenge. Everything is developed in Rust 🦀.
- Tuples, Points, and Vectors
- Drawing on a Canvas
- Matrices
- Matrix Transformations
- Ray-Sphere Intersections
- Light and Shading
- Making a Scene
- Shadows
- Planes
- Patterns
- Reflection and Refraction
- Cubes
- Cylinders
- Groups
- Triangles
- Constructive Solid Geometry (CSG)
- Next Steps
- The transformation matrices are pre-calculated for better efficiency
- Added parallelization for faster rendering times
- Tried to use types as much as possible (the book uses only Tuples, I used specific types for Points and Vectors)
- Added BVH (Bounding Volume Hierarchy) for faster rendering.
Still a work in progress, and most of the code must be refactored.