This is a path tracer written in Rust for my personal amusement very much in early stages. Architecture looks to mix parts from the Physically Based Rendering book and from Ray Tracing in a weeken series.
The project aims to be a library, but current implementation is a binary that uses the various library modules, and renders the default scene to a window using minifb. On exit it will save the current framebuffer of the renderer to a file called new_image.png
renderer
module contains the core rendering functions, and two implementations of their usage, asingle_threaded
and simplemulti_threaded
versions.scene_graph
module containsmaterial
andprimitive
definitions.color
module contains some color utilities as well as aFramebuffer
struct used to store pixel data, as well as export using theimage
crate.