Monte Carlo Ray Tracer written in Rust from scratch. It features:
- Multi-threading
- Fast Quad-BVH (Bounding Volume Hierarchy) with SIMD instructions [4]
- Broad material selection (Lambertian, textured, metal, colored dielectric, isotropic volume (fog or smoke), Blinn-Phong, anisotropic Ashikhmin-Shirley)
.obj
loader- Triangle mesh rendering
- HDRI background
- Light Sampling
- Bloom effect
[1] Shirley, P. (2018-2020). Ray Tracing in One Weekend Book Series. GitHub. Retrieved from https://github.com/RayTracing/raytracing.github.io
[2] Pharr, M., Jakob, W., & Humphreys, G. (2023). Physically Based Rendering: From Theory to Implementation (4th ed.). MIT Press. Retrieved from https://www.pbrt.org/
[3] Shirley, P., & Morley, R. K. (2003). Realistic Ray Tracing (2nd ed.). A K Peters/CRC Press.
[4] Dammertz, H., Hanika, J., & Keller, A. (2008). Shallow Bounding Volume Hierarchies for Fast SIMD Ray Tracing of Incoherent Rays. Computer Graphics Forum.