WebGL Path Tracing

WebGL Path Tracing

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.


© 2025. All rights reserved.