A Three.js recreation of the Deadlock character select screen.
Rendering Pipeline
GLTF Model Caching
Interactive experience
Post-Processing: Bloom & SSAO
The Learning Curve
Transitioning from standard DOM elements to a WebGL context required a shift in how I handle state—synchronizing Alpine.js UI buttons with Three.js scene objects.