CPU raytracer
"Hello World" gradient image generated. Images are saved automatically, logging goes to stdout.
In 2023 I started writing a simple CPU raytracer during the slower moments of my first parental leave. It was nice to have something intellectually stimulating to pick up and then be able to drop at a moment's notice to help with anything.
I was using Ray Tracing In One Weekend but sadly never got past making spheres.
3 years later I wanted to give it another attempt, but this time deliberately forego the use of LLM assistance in the IDE and terminal, even for fancy autocomplete. I use enough of that for work anyway! I firmly believe that my brain was built to struggle and that through struggle I multiply my understanding. I want to get better at Rust and I've always been fascinated with computer graphics ever since trying out Blender for the first time in 2004.
- Rust stdlib only, no 3rd party crates
- Finish book 1
- Multithreading
- SIMD
- At least start on book 2
- Triangles
- Render a Cornell box scene
- Stretch goal: file imports
- Stretch goal: Stanford dragon scene
I believe in explicit disclosure regarding machine-generated code in both directions. If I have a machine generating my code, I have recently tried disclosing which ones in my git commits. If I have my brain generating the code, then I want to share my work with no ambiguity or doubt about its origins.
- Rust 1.97.1 or newer
cargo run
