Rust Raytracer is an implementation of a simple raytracer based on "Ray Tracing in One Weekend" by Peter Shirley. Developed to learn Rust from scratch, the project might not be perfectly idiomatic but it produces visually appealing results. Additional features beyond Shirley's course include texture mapping, lighting, parallel rendering, reading scene data from JSON, and rendering a sky texture.
The Rust Raytracer project was created to explore the fundamentals of ray tracing while learning the Rust programming language. It extends the basic implementation provided in Peter Shirley's "Ray Tracing in One Weekend" with several advanced features to enhance rendering capabilities.
Latest output
https://user-images.githubusercontent.com/237355/147687883-4e9ca4fc-7c3b-4adb-85d7-6b08d1bc69f7.mp4
To build and run the raytracer, use the following commands:
cover_alt
lighting-recast-final
Parallel rendering significantly improves performance by utilizing multiple CPU cores.
sky_textures
To create an animation from rendered frames, use:
147705264-c6f439df-f61b-4bcf-b5e6-c2c755b35b1c
max_depth_anim
rs_pbrt is a Rust crate implementing the PBRT book's C++ code for physically based rendering.