Path tracing engine to raytrace meshes from Unity GameObjects. Implemented using HLSL compute shaders in Unity3D.
Currently implemented:
- Pathtracing for meshes from Unity GameObjects.
- Phong specular reflections.
- Variable surface roughness for specular reflections.
- Lambert diffuse relections.
- Importance sampling to speed-up convergence.
- Support for normal interpolation using barycentric coordinates.
- Anti-Aliasing by offset resampling.
- Basic ray-collision-detection optimization using bounding sphere volumes.
Possible extensions:
- Translucent materials.
- Directional lights + multi-importance sampling (see https://graphics.stanford.edu/courses/cs348b-03/papers/veach-chapter9.pdf).
- Improved ray-collision-detection optimization (e.g. BVH/kD tree/etc.)
Normal interpolation visualised by interpolating vertex colors.