testipa / Atrc

My toy path tracer

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Atrc

Offline rendering lab based on ray tracing

Features

  • Volumetric path tracing with next event estimation
  • Volumetric particle tracing
  • Volumetric bidirectional path tracing
  • Stochastic progressive photon mapping
  • Primary sample space MLT on path tracing
  • Various material models: Disney principled BSDF, phong, DreamWorks fabric ...
  • Homogeneous/heterogeneous participating medium
  • Normalized diffusion BSSRDF
  • Almost all material properties can be specified with 2D/3D textures
  • Various geometry models: sphere, quad, triangle, disk, mesh
  • Two-level accelerating structure (SAH based BVH)
  • Importance sampled environment light
  • G-buffer output (albedo, normal, ...)
  • Depth of field
  • ACES tone mapping
  • Image sample space low-pass filter
  • (Optional) Integrated OIDN library
  • (Optional) Integrated Embree library
  • Interactive scene editor

Roadmap

  • Component based BSDF
  • Volumetric bidirectional path tracing
  • Support launching GUI renderer in editor
  • Better GUI renderer (auto resizing)
  • More sample scenes
  • Light sampling hints (user-specified power)
  • Environment light portals
  • Volumetric photon mapping
  • Vertex connection & merging
  • Better camera panel in editor
  • Support BSSRDF in BDPT
  • Variance buffer, fireflies removal & adaptive sampling
  • Support g-buffer in PSSMLT

Known Issues

  • Relation between inv gamma correction & linear sampler of image texture

Documentation

doc

Gallery

Food (rendered with bdpt) (scene ref here):

0

Classroom (rendered with pt) (scene ref here):

pic

Materials: (rendered with pt):

pic

Fog (rendered with vol_bdpt):

pic

BSSRDF (rendered with pt):

pic

Bedroom (rendered with pt) (scene ref here):

1

Dining Room (rendered with bdpt) (scene ref here):

2

About

My toy path tracer

License:MIT License


Languages

Language:C++ 98.4%Language:CMake 0.8%Language:C 0.6%Language:Meson 0.2%Language:Python 0.0%Language:Shell 0.0%