Uniform presets
This demo keeps several looks for the same shader in a small presets object. Clicking or using the arrow keys swaps those values with a single updateUniforms call.
It is a compact example of using one shader to capture multiple moods without changing the GLSL itself.