Como misturar cores "naturalmente" com C #?

Eu tenho que misturar algumas cores de uma maneira natural. Isso significa

blue + yellow = green 
blue + red = purple

E assim por diante. Eu tenho as cores como valores RGB. Quando tento misturá-los, obtive os resultados "RGB" certos, como

green + red = yellow
yellow + blue = white

Mas não os resultados corretos de "tinta úmida natural". Alguma boa idéia de como misturar RGB de maneira natural?

Seria ótimo se alguém soubesse uma solução dentro doMicrosoft.Xna.Framework.Graphics namespace, mas uma solução genérica também ajudaria :)

@Jay Bazuzi:

Poste um exemplo de código que mostre o que você está tentando fazer.

Claro - esta é a minha função para misturar as duas cores RGB.

public Color colorMixer(Color c1, Color c2)
{

    int _r = Math.Min((c1.R + c2.R),255);
    int _g = Math.Min((c1.G + c2.G),255);
    int _b = Math.Min((c1.B + c2.B),255);

    return new Color(Convert.ToByte(_r),
                     Convert.ToByte(_g),
                     Convert.ToByte(_b));
}

O que eu li até agora neste tópico é muito promissor - vou converter C1 e C2 em Lab *, misture-os - converta-o novamente em RGB e retorne essa cor.

questionAnswers(3)

yourAnswerToTheQuestion