WebGL Path Tracing
Personal projects | | Links: Try it | Source

Overview
Type : School
Technology : Javascript, WebGL, GLSL
Project
As part of a computer graphics course project, the objective was to create a real-time path tracer. Path tracing involves employing a ray tracing algorithm to compute the global illumination within a 3D scene.
This method functions by casting rays randomly from the camera lens in various directions until they intersect with a geometric surface. Upon impact, each ray undergoes reflections, losing energy with each bounce, until it either reaches the color black or encounters a light source. The brightness and color at the initial impact point result from a cumulative effect of light and color from all the bounces the ray has undergone. The final image gradually materializes through a progressive assembly process, initially appearing as a pixelated haze that progressively refines until it achieves a nearly grain-free appearance.
However, my implementation remains incomplete as it only executes the initial render pass, leaving the scene somewhat grainy.
Throughout this endeavor, I relied on valuable resources such as the comprehensive guide on Global Illumination and Path Tracing provided by Scratchapixel.
If interested, you can experiment with it Here.