Open Source Coding & Color Model

Hey, Guys.
Is it possible to transform from an RGB Color Model to a Real World Color Model or a Natural RYB Color Model with Open Source Coding?

Not really with reliable results. What is more possible is from real life to RGB, it goes mostly in one way math wise, unless your cool with some clamping error on most of it. Colour science does not seem to agree on the best way to solve this error.

Regardless this math exists but needs to be implemented and then needs to be adopted into Krita in some way, like a new colour model document or something because it will break everything else related to RGB due to the one way street.

That is my guess.

Alright. Then, Is it possible now to change from an RGB Model to a Natural RYB or Real World Color model with C++ and Qt coding like this, Guys?

CMYK Color Blending Mode - Develop / Feature Requests - Krita Artists (

This would be interesting

1 Like

What is Krita Hardmode?

it is a old thread conversation about the request your talking about and why it is not there in Krita.

Then How can I Change a RGB Color Model to RYB Natural Model or Real World Color Model with use a Open Source Coding Now?:cry:
Please explain it properly!

It is possible, check the software called MyPaint (RYB color wheel for the color wheel and “pigment” option in brushes for natural mixing of colors). Also I’m not sure why you asked specifically about open source? If it’s possible in code, then it is possible in open source code. And it is possible, just, it’s difficult, it might actually need quite a bit of research and sciency stuff to make it into a color space like those that Krita works on. Or just lots and lots of coding to get Krita to work on something that isn’t a proper color space.

If you just want the RYB color wheel though, that should be pretty easy, just it won’t probably offer you as nice effects as you might expect. It won’t have natural mixing, for example yellow and blue would still give you grey, not green.

1 Like

PIGMENT.O has it



RGB and RYB in the digital are not that far apart it is just skewed and compressed on some areas. This is what pigment.o shows and you have slightly better results with it but not that much of a difference. This is not what is asked sadly.

What is being asked with “natural colour model” or “natural ryb colour model” is in fact spectral colour. Should add that RYB is outdated and what should be asked is natural CMY.

Problem with pigment.o is that even if it gives you the colour, mixing is done on the canvas. And mixing in odd ways is time consuming for Krita. Spectral would not BUT!!!

But spectral colour has problems :

  • any given colour can be made with many combinations. Paint companies can make this because they analyse their own paint but there are tons of paints out there.
  • mixing the same displayed red with different combinations would result in different mixes under the same condition probably.
  • going spectral to RGB is doable but RGB to spectral is close to impossible, or an guess and there are some methods for this. so you would probably not be able to ever do colour picking on non spectral documents.
  • formulas would need to be implemented.
  • would require selecting colour by using a spectral graph GUI that must super weird as normal pickers would only give one solution and the give bad mixing because it would give the wrong combination probably for the kind of paint you want.
  • spectral documents would need to be created and blend modes.
  • spectral colour would have an insane amount of variables to be represented, like more than 7 maybe 15. Artists would not like this for sure.

But it would allow to do additive, additive average and subtractive mixing.

Then in the end people would have to export to RGB or something that would break all compatibility and would make people complain like crazy. If people don’t know to save KRA this would only make it worse. “How do I save my spectral document to send it to Photoshop?” Or “I saved it to jpg and now I can’t use spectral why?” Stuff like that.

What I think is that you need to create an example of formulas working to justify any work around it.


Well MyPaint has both (RYB color wheel and pigment option in brushes, that mixes the color in the spectral way I think?.. or at least, I believe so; I might be remembering it wrongly), which is why I mentioned it, and said it is possible, but very hard/expensive to do.

But, other than that, thanks for a much longer explanation and going into details, will probably be super useful for OP to understand the situation better.

1 Like

Oh,oh! I forgot to talk about Krita. In other words, Is it possible to change from a Krita RGB Color Model to a Krita Real World Color Model or a Krita Natural Color Model with Krita Open Source Coding(C++, Qt), Guys? Without the Pigment O…

Sorry for this harsh comment, it is not meant to hurt you! :pray:

Technically it should be feasible, it “just” has to be developed, but it would require a lot of development and programming work, as @tiar already wrote:

This is work that this small team can’t do because of a lot of other work to do, Krita is an open-source project and not a company that pays its programmers from the sales revenue, or can employ a few additional programmers to implement something like this.
If you want, you can also call it a question of money, because programmers have to be paid. In order to implement this besides the current important things, as mentioned at the beginning, there would have to be A LOT OF PROGRAMMING, and you can’t expect that because of one person’s wish, all the pending work will be interrupted just to implement this.

The problem seems to be that either we don’t understand you and here you are just offering to develop this for Krita, which would honor you, or you don’t seem to understand the information given to you so far on this that tells you “this is not an urgent goal, there are many reasons why this doesn’t exist in Krita and not to implement it at the moment (perhaps never)” and they include time, money, usefulness, non-existent demand for this feature.


Why do you mention coding?

Do you ask if Krita has this option already? If yes, then the question is no, Krita doesn’t have the “real world color model”. You can try using LAB but it still won’t be “real world color model” unfortunately.

Do you ask if it’s possible for Krita to get it in the future? Then yes, but don’t wait for it.

Do you ask if you could work on making this option available in Krita? Then also yes, but it’s a lot of work.

But please tell me which one of those scenerios is the correct one, it will help in discussion. There seems to be some kind of language barrier, maybe? I’m not sure if I understand what you’re asking about.

No,no. Not that. I know Krita doesn’t have a Real World Colour Model.
I mean, I was asking, Even if there is no Krita real color model, Is it possible to change from a Krita RGB Color Model to a Krita Real World Color Model or a Krita Natural Color Model only with Krita Open Source Coding(C++, Qt) now? Without the Pigment O.

You mean you want to add Real World Color Model to Krita? You’re a programmer and you want to add this option to Krita?

I don’t understand the word “change” here, I think, maybe you could rephrase the question using different words, if I still didn’t understand you (sorry for that, I’m not a native English speaker).

1 Like

There are all kinds of approaches to “natural color models” and they’ve been discussed before. We used to have a N-channel spectral Kubelka Monk based colorspace in Krita, but… It just isn’t useful.

All those analog color wheels are nice mnemonics, but have nothing to do with how color actually works: pretty much all analog artistic color model theory is bunk.

Translating that bunk into the digital world only makes it digital bunk. We really shouldn’t encourage the idea that we could simulate color mixing digitally in a way that would later on translate to the analog world.

You have to take each medium – digital, oils, watercolor, ink, whatever – on its own merits as its own thing with its own rules.

1 Like

Hello, Guys.
How can change from Krita’s RGB Color Model to Adobe Fresco Watercolor’s Color Model or MyPaint Pigment(spectral) Color Model using Krita’s Coding corrections? :grinning:

If you are just looking for a way to switch ICC color profiles, you can find them under “Settings” >> “Configure Krita” >> “Color Management” in the tab “General” you set the profile that Krita itself uses, in the tab “Display” you set the profile that your monitor uses and in the tab “Soft Proofing” (I’m not 100% sure about soft proofing) you set the profile that the printer uses.

However, like other forum users, I believe that the problem is a language problem, because this question of yours also indicates that you have not understood the answers given to you so far, or that you cannot grasp their meaning or content. Therefore I ask you to be so kind to tell us which language you speak, what is your mother tongue, your native language? In this way, we can possibly find someone who can explain to you in your language what we seem not to have been able to explain so far. It is only a suggestion, an idea. Maybe we can help you in this way.