by tlarkworthy on 12/29/24, 11:15 PM with 56 comments
by rgovostes on 12/30/24, 12:16 AM
In short, they first implemented realistic pigment mixing behavior. But in user testing it turned out non-painters are not good at getting the color they want by mixing; you usually end up with brown. So they had to make an unrealistic mixing algorithm that felt more intuitive.
by pedrovhb on 12/30/24, 12:10 AM
My first thought, looking at the webpage: "Huh, that's neat. I didn't know that painting software didn't even attempt to do color mixing beyond naive interpolation, though I guess it figures; the physics behind all the light stuff must be fairly gnarly, and there's a lot of information lost in RGB that probably can't be just reconstructed."
Scrolling down a bit: "Huh, there's some snippets for using it as a library. Wait, it does operations in RGB? What's going on here?"
Finally, clicking the paper link, I found the interesting bit: "We achieve this by establishing a latent color space, where RGB colors are represented as mixtures of primary pigments together with additive residuals. The latents can be manipulated with linear operations, leading to expected, plausible results."
That's very clever, and seems like a great use for modern machine learning techniques outside the fashionable realm of language models. It uses perceptual color spaces internally too, and physics based priors. All around very technically impressive and beautiful piece of work.
It rhymes with an idea that's been floating in my head for a bit - would generative image models, or image encoder models, work better if rather than rgb, we fed them with wavelength data, or at least a perceptually uniform color space? Seems it'd be closer to truth than arbitrarily using the wavelengths our cone cells happen to respond to (and roughly, at that).
by samlinnfer on 12/30/24, 12:26 AM
https://krita-artists.org/t/implementing-mixbox-mixing-for-k...
by blacklion on 12/30/24, 12:21 AM
As I learned several minutes ago now it is Corel Painter.
I wonder, is it still good and how it (both old and new algorithms, I allow that it was simplified down the road!) compares to this new library.
Unfortunately, authors doesn't compare themselves with Corel Painter.
by echelon on 12/30/24, 12:00 AM
They were first on the scene with EbSynth [1], which was the first widely used AI-powered video-to-video style transfer and keyframe interpolation system. EbSynth gave rise to comedians like Joel Haver [2] and lots of others like him.
Several other companies [3] used EbSynth to base their technology on and wound up raising large seed rounds. Major musicians used EbSynth either directly or through these other companies to make music videos [4,5].
Secret Weapons was in a great position to conquer AI video and AI creative tools, but they seemingly slept on it.
[2] https://www.youtube.com/watch?v=SY3y6zNTiLs&list=PLKtIcOP0Wv... (playlist with all of his animations)
[3] https://kaiber.ai/ and others
[4] Linkin Park https://www.youtube.com/watch?v=7NK_JOkuSVY
[5] Magdalena Bay https://www.youtube.com/watch?v=dXLCHvRsgRQ
by amjoshuamichael on 12/29/24, 11:55 PM
https://github.com/scrtwpns/mixbox/blob/master/shaders/mixbo...
I don't have time to whip up a demo, but it seems like it's pretty well optimized and it looks really nice in the examples. Great work from these folks.
by mkl on 12/30/24, 1:05 AM
https://news.ycombinator.com/item?id=30116316 (71 points, 15 comments)
https://news.ycombinator.com/item?id=30033611 (60 points, 13 comments)
Has anyone tried Rebelle, the commercial painting app that uses this method?
by kuschku on 12/30/24, 12:00 AM
by miiiiiike on 12/29/24, 11:50 PM
by CapsAdmin on 12/30/24, 4:17 AM
After all, mixing paint colors is something you have to learn because it's not very intuitive.
Almost everywhere else in life, when you mix A and B, you expect a linear transition to happen. By adding salt to water, you are increasing its saltiness, it's not expected that at some point, the water becomes sour before it becomes salty again.
by chefandy on 12/30/24, 3:40 AM
by Daub on 12/30/24, 1:42 AM
- RYB mixing (e.g. yellow painting plus blue paint = green). I tested it on a mix of alizarin crimson plus hansa yellow to produce a cold orange (e.g. blood orange).
- Relative behavior of specific pigments. For example, a Prussian blue is almost black when applied thickly, but very chromatic when applied as thinly over white. A cerulean blue is pretty much the same in those two states. I tested this on a Prussian and the app performed well.
The app seems to make the assumption that the artist will always want the paint to mix. In a glaze, a thin transparent layer of paint is applied over dry paint. Effectively the result is a filter (the result will always be darker). To a degree, this can be faked using paint applied in a layer the blend mode of which has been set to multiply. It might be nice to add a drying brush to the tool set which selectively dries the paint to prevent mixing. Maybe also a mode switch to selectively different modes of physical application such as glazing, scumbling and dry brushing. While we are at it, why not add a Tonk mode using which thick paint can be lifted off the surface without smudging.
When I paint digitally, I mix the incredible nuance of real paint... even its smell. When I paint with oils I miss the incredible flexibility of the digital process (blend modes, compositing, even the humble undo). Never the twain...
by mncharity on 12/30/24, 8:07 PM
by zuluonezero on 12/31/24, 10:59 AM
by amarcheschi on 12/29/24, 11:55 PM
by swayvil on 12/30/24, 2:57 AM
Which makes the whole thing a bit solipsistic when you think about it.
by twobitshifter on 12/29/24, 11:57 PM
by NKosmatos on 12/30/24, 12:12 AM
by printrrr on 12/30/24, 3:14 AM
Here it is in 2021:
https://www.escapemotions.com/blog/rebelle-5-meet-color-pigm...
And here it is currently:
https://escapemotions.com/products/rebelle/manual/starting-p...
by mdtrooper on 12/30/24, 7:09 AM
by arcticfox on 12/29/24, 11:42 PM
by bfrog on 12/30/24, 12:24 AM
by ChrisMarshallNY on 12/30/24, 1:38 AM
That seems like something that Adobe would want to borg.
by neom on 12/30/24, 12:03 AM
by woolion on 12/30/24, 12:24 PM
In traditional, you tend to have some rules that make it easy to get good colors. One method is to restrict your paints to a few primary colors and burnt sienna (or another low saturation brown). Then by mixing these colors you get the colors you want, in a way where these colors have a good relationship with the others. So a simple rule is for instance that you get your green by putting lemon yellow with some black and a bit of sienna to lower the saturation. The relationship is almost 'free' from the properties of the physical pigments if you follow such simple rules.
What's the deal about 'relationship'? Colors are not treated individually, they are perceived in context. In real life, lightning will unify a scene by changing colors. However, there is a semantic superposition that affects it. Grass is green in your mind, so if the color you see is a light blue/purple, the brain will adjust its understanding to match it. This is where many illusions come from (most famously the white and gold/blue and black dress meme come from).
This is a big deal to learn painting, but can be almost completely side-stepped by learning how to mix colors.
In digital however, artists got used to the fact that color is generally treated as HSV and adjusted their approach. So the most commonly taught approach to manage colors is to work in black and white, only dealing with value, which is the most essential component of color. Values are the primary issue because this is fundamentally what implies to our brain what are the normal vectors of light, and so carry almost all 'volume information'. Then, you can apply colors via some layers set to multiply, color and overlay mode. Note that it has some antecedent in the traditional world, called 'grisaille' technique.
So, you can color pick anywhere you want on the color wheel without mixing. The impact of color mixing is actually pretty small. The other technique is called gamut masking; you're only allowed to pick colors on a subset of the color wheel that is in a good HSV relationship with the chosen color scheme. The thing is, even though this is not perceptually accurate, this is good enough.
The main impact of color mixing is that if working with low opacity brushes, the colors will look 'muddy'. This problem is mostly side-stepped by avoiding it altogether with high-opacity brushes, and using other layer blending modes.
Because now most digital artists have learnt through these techniques, bringing techniques that work best coming from the traditional world is not very useful, to say the least. In my own practice, traditional and digital are indeed almost entirely separate activities, at every level. The fundamental, theoretical understanding of all aspects is the same, but it doesn't really matter very much; almost all other artists I ever discuss with do not have such an understanding, and build their practice from a more 'human'-centric foundation (technique and artistic concepts).
I'm of course interested in the space, and it is a bit similar to asking why would people would use bash or plain text; it's not necessarily that these are the best tools, but there is much more to it.
by mg on 12/30/24, 1:38 PM
Is it that when you have two colors like RGB(0,0,255) and RGB(255,255,0) there is no easy formula to calculate what a mix of these two colors would look like in the real world?
And therefore one needs a lookup table? And since 16Mx16M is a large number, a complete lookup table is impractical?