Skip to content

mihsamusev/yarrr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

YARRR - Yet Another Rust Raytracer Rewrite

Study exercise in rewriting the famous Ray Tracing in One Weekend by Peter Shirley from C++ to Rust to practice the language. This is also my final project submission of the course OTUS Rust Developer.

Goals

  • not looking at other numerous Rust implementations until im done with first complete implementaton
  • not using 3rd party linear algebra libraries until im done with first complete implementaton
  • practice writting organizing rust modules, writing tests and using CI like it was a production ready tool

Getting started

Run one of the examples

cargo run --release --example final_render

Todos

  • core
    • vector math in 3D
    • rays
      • intersection with sphere
      • antialiasing
      • multiple bounce
      • diffuse scattering
      • reflection
      • refraction
    • scene with spheres
    • adding sphere objects
    • materials
    • camera with arbitrary coordinate system
  • infrastructure
  • examples
  • performance
    • profiling with perf and flamegraph
    • benches for hot paths
    • parallelize the per pixel operations

About

Yet Another Rust Raytrcer Rewritten

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published