Implementation of a path tracer in Rust
- Render pipeline:
- Shapes
- Sphere
- World (collection of shapes)
- Materials
- Lighting
- Transparency
- Metals
- Glass
- Lambertians
- Dielectrics
- Camera
- FOV
- Focal length
- Position
- Shapes
- Image:
- In-memory buffer of canvas data
- Utility methods to iterate over each
(x, y)
pixel - Buffered write of pixel data, reaching ≈9.5k pixels-per-milisecond (p/ms) on i7-6700K
- Scene
- Save scene to file
- Load scene from file
- Scene data
- Render settings
- Image resolution
- Camera position
- Object placement