Iridescent soap bubbles drift and bob through soft studio light, occasionally popping into a burst of particles. Each bubble is a sphere mesh rendered with a custom GLSL shader that approximates thin-film interference: a Fresnel term driven by the view/normal angle feeds a hue rotation across an HSV rainbow ramp, layered with a Blinn-Phong specular highlight from the key light and a rim-weighted alpha for the glassy edge.