36 band Spectral Mode (vs 3 band RGB)
Open, Needs TriagePublic

Description

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

briend created this task.Nov 3 2017, 7:43 PM
rempt added a subscriber: rempt.Nov 4 2017, 9:18 AM

Thanks. Doing things like this on the GPU is difficult with krita's current architecture, but, on the other hand, we have access to things like Vc so we can vectorize calculations. I wonder whether we could just implement this as a composite op, or wether we'd need a new colorspace for this.

briend renamed this task from Subtractive Pigment Linear Blend Mode to 36 band Spectral Mode (vs 3 band RGB).Nov 14 2017, 5:34 AM
briend updated the task description. (Show Details)