When performing with Bubbles, particularly when it is OSC-mapped to control voltages from a synthesizer, I've noticed that's easy to create situations where negative values are provided for essentially unipolar parameters—e.g. opacity—and which cause unexpected results.
Where parameters are genuinely limited to values above zero, we should provide some form of clamping.
The most efficient place to do this in the shader itself, with the downside that this won't be visible within the UI. On the other hand, it's nice to be able to see when a control voltage is out of range so it can be corrected (which wouldn't be visible if the clamping was happening as the result of a model transformation rule). This suggests the need for a more refined UI that can show both incoming OSC/MIDI values as well as the transformed values being used by the shader itself.
When performing with Bubbles, particularly when it is OSC-mapped to control voltages from a synthesizer, I've noticed that's easy to create situations where negative values are provided for essentially unipolar parameters—e.g. opacity—and which cause unexpected results.
Where parameters are genuinely limited to values above zero, we should provide some form of clamping.
The most efficient place to do this in the shader itself, with the downside that this won't be visible within the UI. On the other hand, it's nice to be able to see when a control voltage is out of range so it can be corrected (which wouldn't be visible if the clamping was happening as the result of a model transformation rule). This suggests the need for a more refined UI that can show both incoming OSC/MIDI values as well as the transformed values being used by the shader itself.