jalberse / RayTracingInOneWeekendInRust

Ray Tracing In One Weekend, in Rust
1 stars 0 forks source link
3d-graphics computer-graphics graphics raytracer raytracing raytracing-in-one-weekend rendering rust

Ray Tracing in One Weekend, In Rust

Sample Render

This repository is a CPU-bound ray tracing library based on Peter Shirley's books on the topic.

It adds some additional features such as parallel and tiled rendering. I also use it for some ray tracing experiments, such as implementing hash-based ray path prediction for skipping acceleration structure traversals.

It further makes changes from the books to achieve more idiomatic Rust code where possible.

Features

Usage

For more details on how to use this crate, run cargo doc --open in the cloned repository.

The binary provides a command line interface to rendering sample scenes. To install, while in the cloned repository, use cargo install --path .. Then use shimmer --help for more informtion. Or, skip installation and run cargo run -- --help.

Sample Renders

Sample Render A variety of materials.

Constant Density Mediums

Constant Density Mediums

Motion Blur

Motion blur

Acknowledgements

This repository is based on Peter Shirley's book Ray Tracing in One Weekend. I will readily recommend this book to anyone interested in computer graphics, along with his other books Ray Tracing: The Next Week and Ray Tracing: The Rest of Your Life.

A note on the "Shimmer" moniker and further development

Some names in this repository reference "shimmer". That was what I originally named this crate, but now this repository holds that moniker, and is where I've directed my interests in rendering.