Skip to content

🎥🗧A CPU-driven, Physically Based Pathtracer! Written in Rust, following the PBR Book

Notifications You must be signed in to change notification settings

kakuking/Lead_rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

The Lead (Rust) Renderer

This is an experimental render taking certain inspirations from the Nori renderer. I plan to follow the PBR Book (3ed) in my pursuit to create a Pathtracer.

I initially started this project in C++, but I quickly realized that rather than learning what was going on behind the scenes, I started copying code verbatim, or with minimal changes. What did I do next? Why I switched over to Rust! With its borrow-checker and type-system I hope to better learn how to manage different coding patterns accross different languages.

Current To-Do list -

  • Move away from Nori towards a more PBR-like implementation Since it is in Rust, the implementation is fundamentally different

  • Add Geometry stuff (coordinate systems, vectors, points, rays, b boxes, transformations and interactions)

  • Add animated transformations

  • Add Shapes

    • Sphere

    • Cylinders, Disks

    • Quadrics, Curves

    • Triangle Meshes

    • Subdivision Surfaces

  • Add Primitives interface

  • Add aggregates Bounding Volume Heirarchy

  • Add Spectra and Color stuff

  • Add Camera models

    • Orthographic camera

    • Perspective camera

    • Environment (panoramic) camera

  • Add samplers

    • Stratified sampler

    • Other samplers

  • Add Film and Writer

  • Add BxDFs

  • Add textures (procedural and images)

  • Add Volumes!!!!!!

  • Add Light sources

  • Create Direct integrator

  • Create recursive Path integrator

  • Create Volume Renderer

  • Create Bidirectional Renderer

  • Create Photon Mapping integrator (maybe)

  • Add parallelism

  • And much much more....

Note - This list of to-dos is NOT exhaustive it is just what I could think up of right now

About

🎥🗧A CPU-driven, Physically Based Pathtracer! Written in Rust, following the PBR Book

Topics

Resources

Stars

Watchers

Forks

Languages