3D Ray Tracing

3draytracing

3D-Ray-Tracing

Description:

3D-Ray-Tracing is a modern C++20 offline renderer that implements a production-style CPU ray tracer and path tracer with a clean modular architecture, multithreaded rendering, and BVH acceleration for performance. The project supports physically based rendering features such as Lambertian, metal, dielectric, and emissive materials, along with texture mapping, OBJ mesh loading, HDR environment lighting, depth of field, next-event estimation, multiple importance sampling, and Russian roulette path termination. It also includes more advanced engineering features like SIMD-optimized intersection paths, an optional CUDA backend with CPU fallback, an edge-aware A-Trous denoiser, and a video pipeline for orbit-camera animations with MP4 export. Overall, it is a strong graphics systems project that demonstrates computer graphics fundamentals, rendering optimization, software architecture, and performance-oriented systems programming in C++.