Rust implementation of Peter Shirley's Ray Tracing the Next Week
Rough list of changes from the C++ version
- Rc for struct pointers
- Materials are in an enum
- Traits instead of classes
- Option return type instead of bool + pointer input
- image crate for using an image as a texture
- Amy Williams's implementation of bounding box hit instead of the book version
Run as "cargo run --release > image.ppm"
TODO:
- Fix image texture
- Fix subsurface sphere
- Parallelize
- SIMD
- write to file/different formats?