Jun - Aug 2025

Project Three

Three.jsWebGLVite
Project Three image 1

Overview

An experimental WebGL project that transforms audio input into interactive 3D visualizations in real-time. It serves to explore the intersection of sound, mathematics, and browser-based graphics.

Challenge & Execution

Rendering thousands of particles dynamically in the browser usually leads to severe frame drops. I bypassed the standard DOM completely, relying on raw Canvas API and Three.js. I wrote custom WebGL shaders to offload the heavy mathematical audio-frequency calculations directly to the GPU. The Vite bundler was used to keep the final build incredibly lightweight.

Results

Maintained a stable 60fps while rendering over 50,000 active particles.

Successfully synced real-time audio frequency data with GPU shader uniforms.

Published as an open-source experiment for the creative coding community.

Want to see it in action?