paths is a software path-tracing renderer written in Rust.
It is purely a hobby-project for me to learn about this technology, and I had no idea how path-tracing worked (other than vague intuition) before starting.
- Basic path tracing of spheres
- Point lights
- Multithreading
- Collision acceleration (BVH)
- Textures
- Triangle meshes
- Normal smoothing (of triangle meshes)
- Importance sampling
- Reflective materials
- Glossy materials
- Microfacet specular model
- Camera lens simulation
- Next event estimation
- HDRI Environment maps
- Translucent materials (refraction)
- Subsurface scattering
- Bi-directional path tracing
[2020/05/23] Support for HDRI environment maps (thanks for HDRI Haven for the HDRIs!)
[2020/05/15] Support for per-vertex colours baked into meshes (thanks to Artec3D for this awesome model):
[2020/05/10] Rewritten large parts of the renderer so that the results match a reference renderer (Mitsuba)
[2020/05/04] Next event estimation to efficiently simulate point/area light sources
[2020/04/22] Microfacet model to create shiny, rough teapot material
[2019/03/14] Teapot model with ~6000 triangles and smoothed normals
[2019/03/11] 500 randomly generated spheres
[2019/03/07] Close up of green sphere with strong bokeh on the background
[2019/03/05] 2 glossy spheres and one perfect mirror sphere on a reflective plane.