Skip to content

iaomw/Tracer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Lǐ - PBRT on Metal

This is simply a repository for my Ray Tracing code.

Requirement

RT_Metal requires MTLArgumentBuffersTier2 device, for example AMD dGPU & eGPU.

Not tested on Apple Silicon.

It may work on macOS 10.15. For compatibility, I am avoiding using new APIs added since macOS 11.

Features:

  • Metal Kernel
    • MPSRayIntersector & MPSSVGF
    • FidelityFX Super Resolution 2.0
    • GPUSPPM by Toshiya Hachisuka
      • Parallel Reduction
      • Spatial Hash Grids
    • Stackless BVH traversal on GPU
    • Bindless resources
    • ACES tone, Auto exposure
    • pcg-random
    • Blue noise
  • Ray Tracing Gems
    • A Fast and Robust Method for Avoiding Self-Intersection
  • Physically Based Rendering, Third Edition
    • Halton Sampler
    • Sobol’ Sampler
    • BVH
      • SAH, Parallel recursion
      • LBVHs, Morton Encoding
    • Microfacet
      • Beckmann
      • TrowbridgeReitz
    • IEEE 754 float rounding error
    • Multiple importance sampling
    • Ray Differential
    • Infinite Area Lights
    • Volume Rendering
      • Homogeneous Medium
      • Heterogeneous Medium
      • BSSRDF
    • Stochastic Progressive Photon Mapping
    • Bidirectional Path Tracing
    • Metropolis Light Transport
    • Support pbrt-v3 file format

Other things to-do:

  • Basic GUI & Menu
  • Export as PNG file
  • Cancelable tasks
  • Quaternion camera

References: