Quinton's Ray Tracer with Metal
This is an exercise project for writing ray tracing in Metal shader. The project is based on sample code Accelerating ray tracing using Metal from Apple. The code is written in Objective-C++ and Metal Shading Language. Hopefully, I will add Metal-CPP support to this project in the future.
The app viewer is written in Swift. It is a simple app that can load a scene and render it. You can simply choose different scenes and path tracing algorithms.
Here's a little video to help you learn how to operate the app.- OpenVDB
- Obj file loader
- Sphere
- (One side) Triangle
- (One side) Cube / Plane with triangle
- Blinn-phong
- Phong
- Diffuse
- Metallic
- Dielectric
- Point light
- Important Sampling Environment map
- Sky box / Environment map
- Area light (Mesh light)
- Checker texture
- Perlin noise
- Texture mapping
- Normal mapping
- Displacement mapping
- Volumetric rendering
- Multiple importance sampling
- Naive Path tracer
- Next event estimation
- Moving Camera
- IOS Deployment
- Choosing different scene