pathed
pathed copied to clipboard
Pathed: An educationally-motivated physically-based path tracer
Pathed
Pathed is a path tracer written in C++ that I have been working on to solidify my understanding of rendering techniques and algorithms.
Some of Pathed features include: Lambertian, Oren-Nayar, Beckmann microfacet, Mirror, and Glass scattering models; multiple importance sampling and next event estimation; environment maps; and heterogeneous volumetric scattering.
My most recent project has been attempting to render Disney's Moana research scene. So far I've added support for B-spline curves, ptex textures, and hierarchical instancing. Currently I'm working on optimization, bug fixes, and supporting the Disney BRDF.
Rendered Images
Current WIP: Moana scene
Glass material, homogeneous absorption, and environment lighting
Microfacet reflection modeled with Beckmann distribution
Heterogeneous volume scattering
Heterogeneous volume scattering
Tungsten's material ball with absorbing dielectric material
Tungsten's material ball with rough dielectric material
Volumetric caustic in homogeneous medium
Bunny with Bezier curve fur
Cornell box with mirror material
Veach MIS scene
Traditional Cornell box
Build Instructions
> git clone https://github.com/chellmuth/pathed
> cd pathed
> git submodule update --init --recursive
> mkdir Release; cd Release
> cmake ..
> make
Render Instructions
> cp job.json.example job.json
> cd Release
> ./pathed