LumillyRender icon indicating copy to clipboard operation
LumillyRender copied to clipboard

Monte Carlo path tracing implementation on Rust

Lumilly Render

Monte Carlo path tracing implementation on Rust

image

2102x1500 (1920x1370) 10000 samples per pixel

Run

RUSTFLAGS='--emit asm -C target-feature=+avx' cargo run --release

Feature

  • Light transport
    • pt (Pure path-tracing)
    • pt-direct (Next event estimation)
  • Acceleration structure
    • BVH (SAH)
  • BSDF
    • Lambert
    • Phong
    • BlinnPhong
    • GGX [Walter et al. 2007]
  • Camera
    • Ideal pinhole
    • Realistic pinhole
    • Thin lens model
  • Mesh
    • Wavefront .obj (.mtl)
    • Sphere
  • Sky
    • Uniform
    • Image based lighting
  • Output
    • png
    • hdr
  • Scene file support (scenes/*.toml)

Gallery

model

1024x1024 512 samples per pixel

ggx-conductor

960x540 4096 samples per pixel

References