Mixing Models

Mixing models describe how colors are mixed together to form all other colors. The enum MixingModel includes the models outlined below as well as extension methods for getting the colors of the color wheel for the respective mixing model.

MixingModel model;

Color[] primary = model.PrimaryColors();
Color[] secondary = model.SecondaryColors();
Color[] tertiary = model.TertiaryColors();
Color[] colorWheel = model.ColorWheel();

// Fill an existing array of colors to prevent heap allocations
model.PrimaryColorsNonAlloc(array);   //  3 colors
model.SecondaryColorsNonAlloc(array); //  3 colors
model.TertiaryColorsNonAlloc(array);  //  6 colors
model.ColorWheelNonAlloc(array);      // 12 colors

☀️ Additive

A mixing model that leads to the RGB color model with primary colors of red, green, and blue. The absence of color is black, and the presence of all three primary colors is white. Colors are added together to form white. Additive color mixing simulates light.


🖨️ Subtractive

A mixing model that leads to the CMYK color model with primary colors of cyan, magenta, and yellow. The absence of color is white, and the presence of all three primary colors is black. Colors are subtracted to form black. Subtractive color mixing simulates print.


🖌️ Traditional

A mixing model that leads to the RYB color model with primary colors of red, yellow, and blue. The absence of color is white, and the presence of all three primary colors is black. Traditional color mixing simulates paint.