Ray Tracing in One Weekend is a series of books by Peter Shirley showcasing implementation of a simple ray tracer. It's a good introduction and for the most part you can just copy the code. I've written many real-time graphic projects, but never a ground up offline ray tracer. I admit that I've already knew most of the math behind it, so the implementation was quick and painless.
Scene 7 after using optix denoiser. See below for raw image.
- render the sphere - DONE
- surface normals - DONE
- antialiasing - DONE
- diffuse materials - DONE
- metal materials - DONE
- dielectrics materials - DONE
- camera aperture - DONE
- motion blur - nope, I'm fundamentaly opposed to this feature
- Bounding Volume Hierarchies - DONE
- textures - DONE
- image textures - DONE
- lights - DONE
- instancing/transforms - DONE, actually implemented as matrix transforms
- volumes - DONE
- parallel execution - using rayon, task per pixel
- transform matrices - book only introduces hardcoded single-axis rotations and simple translation
More sample scenes are in src/scenes. Do not forget to use release build: cargo build --release
!