Implement blending using synthetic spectral power distribution curves for better control and more natural response and appearance
http://scottburns.us/subtractive-color-mixture/
PoC code block:
https://github.com/briend/libmypaint/blob/Burns/mypaint-brush.c#L562-L626
More info:
https://github.com/briend/libmypaint/tree/Burns/burns_subtractive_mode
Real-time demo:
https://www.youtube.com/watch?v=RUa8IHNtGb4
Renamed title to narrow scope. Once you have the spectral data you can use the same techniques to blend colors-- it's just 36 lights instead of 3.
I've split up my code now to allow Normal vs Multiply (weighted geometric mean) blend modes, as well as Spectral vs RGB, and adjustable gamma to allow non-linear and linear (spectral is always linear though)
It is interesting how 36 bands improves the handling of the blending results