/Raytracing_in_One_Weekend

Rewriting every C++ code written in the book "Raytracing in One Weekend" in Rust

Primary LanguageRustGNU General Public License v3.0GPL-3.0

Raytracing in One Weekend in Rust

Learning the basics of raytracing method and Rust programming language by rewriting every C++ source code in the book "Raytracing in One Weekend" written by Peter Shirley

Contents

So, why another Raytracing in One Weekend in Rust?

I re-read Raytracing in One Weekend recently and the code structure changed and, my previous code was terrible.
I wanted to rewrite to code with a better structure and base it off of the new code base in the book.
What differentiates this from other implementations are the following features.

  1. Not using stdout for writing PPM.
    • Created a dedicated PPM writer to get rid of the bottleneck from using stdout.
  2. Added PNG image writer by using the image crate for handling PNG file writer.
  3. Parallel renderer. (Because multithread = fast)

UPDATES

2022/5/31

  • Erased every past code in rust branch due to fatal flaw in code
    • Backed previous codes to rust_bak branch
  • Completed 2.2. Creating an Image File

2022/6/5

2022/6/8

2022/6/11

2022/6/12

2022/6/16

2024/9/25

  • Rewrite in rust with better code base

2024/10/12

  • Moved rust-rewrite to rust
  • Completed Raytracing in One Weekend

References

  1. Peter Shirley, Raytracing in One Weekend, 2020-12-07
  2. render.rs from ebkalderon for multi-threaded rendering