My implementation in Rust of the Ray Tracing in One Weekend book.
It has a few additions:
- The raytracer is multithreaded, using scoped threads
- There is an alternative SIMD implementation of Vec3, which sadly is slighly slower than the scalar version
By default, Vec3 is ScalarVec3 under the hood. To use SimdVec3, the SIMD implementation, you need a nightly version of rust and to enable the "simd" feature. For example:
cargo +nightly run --release --features simd