From 7eca9f7dff278420daaf6aaa342047a5c1f9b175 Mon Sep 17 00:00:00 2001
From: Ondrej Jamriska
Date: Wed, 21 Sep 2022 05:09:53 +0200
Subject: [PATCH] update readme
---
README.md | 437 +++++++++++++++++++++++++++++++++++++++++++++---------
1 file changed, 370 insertions(+), 67 deletions(-)
diff --git a/README.md b/README.md
index e4051ba..2b8c9f0 100644
--- a/README.md
+++ b/README.md
@@ -1,67 +1,370 @@
-# Mixbox: Practical Pigment Mixing for Digital Painting
-
-
-
-
-
-Mixbox is a pigment mixing black-box. You pass RGB colors in and get the mixed RGB out.
-Internally, Mixbox treats the colors as if they were made of actual real-world pigments.
-It uses the Kubelka & Munk theory to predict the color of the resulting mixture.
-This way, Mixbox achieves that blue and yellow mix to green, the same way real pigments do.
-
-* Paper: https://scrtwpns.com/mixbox.pdf
-* Video: https://youtu.be/ATzVPVNp1qA
-* Talk: https://youtu.be/_qa5iWdfNKg
-* Demo: https://scrtwpns.com/mixbox/painter
-
-Mixbox is shipping in Rebelle 5 Pro as the [Rebelle Pigments](https://www.escapemotions.com/products/rebelle/about) feature.
-
-## Usage
-The simplest way to use Mixbox is with the *lerp* interface:
-```c++
-#include
-#include "mixbox.h"
-
-int main()
-{
- unsigned char r1=252, g1=211, b1=0; // bright yellow
- unsigned char r2=0, g2=0, b2=96; // deep blue
- float t = 0.5;
- unsigned char r,g,b;
-
- mixbox_lerp_srgb8(r1,g1,b1, // first color
- r2,g2,b2, // second color
- t, // mixing ratio
- &r,&g,&b); // result
-
- printf("%d %d %d\n",r,g,b);
-}
-```
-Alternatively, one can use the *latent* interface. This allows mixing multiple RGB colors at once using arbitrary weights:
-
-```c++
-float latent1[MIXBOX_NUMLATENTS];
-float latent2[MIXBOX_NUMLATENTS];
-float latentMix[MIXBOX_NUMLATENTS];
-
-mixbox_srgb8_to_latent(r1,g1,b1,latent1);
-mixbox_srgb8_to_latent(r2,g2,b2,latent2);
-
-for(int i=0;i
-
-
-This is a toy painting app with soft round brush and a smudge tool. It runs two color mixing implementations in parallel: one based on Mixbox and the other that performs ordinary RGB mixing. The app allows switching between them on the fly, showing the differences between pigment-based mixing and the normal RGB mixing. To launch the demo in your browser, please click here.
-
-## License
-Copyright (c) 2022, Secret Weapons. All rights reserved.
-This code is for non-commercial use only. It is provided for research and evaluation purposes.
-If you wish to obtain commercial license, please contact: mixbox@scrtwpns.com
-
+# Mixbox: Pigment-Based Color Mixing
+
+
+
+
+
+Mixbox is a new blending method for natural color mixing. It produces saturated gradients with hue shifts and natural secondary colors during blending. Yellow and blue make green. The interface is simple - RGB in, RGB out. Internally, Mixbox treats colors as real-life pigments using the Kubelka & Munk theory to predict realistic color behavior. That way, colors act like actual paints and bring more vibrance and intuition into digital painting.
+
+* Paper: https://scrtwpns.com/mixbox.pdf
+* Video: https://youtu.be/ATzVPVNp1qA
+* Talk: https://youtu.be/_qa5iWdfNKg
+* Demo: https://scrtwpns.com/mixbox/painter
+
+Mixbox is shipping in Rebelle 5 Pro as the [Rebelle Pigments](https://www.escapemotions.com/products/rebelle/about) feature and in the [Flip Fluids](https://flipfluids.com/) addon for Blender.
+
+## Usage
+- [C / C++](cpp): `#include "mixbox.h"` and build `mixbox.cpp` together with your project
+- [C#](csharp): use Mixbox package from NuGet `https://www.nuget.org/packages/Mixbox/2.0.0`
+- [Java](java): add `implementation 'com.scrtwpns:mixbox:2.0.0'` to your Gradle
+- [JavaScript](javascript): `
+
+