# Mixbox: Pigment-Based Color Mixing
## Usage ```rust fn main() { let rgb1 = [0, 33, 133]; // blue let rgb2 = [252, 211, 0]; // yellow let t = 0.5; // mixing ratio let [r, g, b] = mixbox::lerp(&rgb1, &rgb2, t); println!("{} {} {}", r, g, b); } ``` ## Mixing Multiple Colors ```rust let z1 = mixbox::rgb_to_latent(&rgb1); let z2 = mixbox::rgb_to_latent(&rgb2); let z3 = mixbox::rgb_to_latent(&rgb3); let mut z_mix = [0.0; mixbox::LATENT_SIZE]; for i in 0..z_mix.len() { // mix together: z_mix[i] = 0.3*z1[i] + // 30% of rgb1 0.6*z2[i] + // 60% of rgb2 0.1*z3[i]; // 10% of rgb3 } let rgb_mix = mixbox::latent_to_rgb(&z_mix); ``` ## Pigment Colors | Pigment | | RGB | Linear RGB | | --- | --- |:----:|:----:| | Cadmium Yellow | | 254, 236, 0 | 0.991, 0.839, 0.0 | | Hansa Yellow | | 252, 211, 0 | 0.973, 0.651, 0.0 | | Cadmium Orange | | 255, 105, 0 | 1.0, 0.141, 0.0 | | Cadmium Red | | 255, 39, 2 | 1.0, 0.02, 0.001 | | Quinacridone Magenta | | 128, 2, 46 | 0.216, 0.001, 0.027 | | Cobalt Violet | | 78, 0, 66 | 0.076, 0.0, 0.054 | | Ultramarine Blue | | 25, 0, 89 | 0.01, 0.0, 0.1 | | Cobalt Blue | | 0, 33, 133 | 0.0, 0.015, 0.235 | | Phthalo Blue | | 13, 27, 68 | 0.004, 0.011, 0.058 | | Phthalo Green | | 0, 60, 50 | 0.0, 0.045, 0.032 | | Permanent Green | | 7, 109, 22 | 0.002, 0.153, 0.008 | | Sap Green | | 107, 148, 4 | 0.147, 0.296, 0.001 | | Burnt Sienna | | 123, 72, 0 | 0.198, 0.065, 0.0 | ## License Copyright (c) 2022, Secret Weapons. All rights reserved.