This is simply a repository for my Ray Tracing code.
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.
- 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
- Basic GUI & Menu
- Export as PNG file
- Cancelable tasks
- Quaternion camera