Fluid で Color Mixing
https://gyazo.com/c4019f15c6b3d5d7bc6460b0d3f8aa97
適当に混ぜても色は混ざらない
そのままのシミュレーションでは point の持つ v@Cd は不変なので何らかのHack をやる必要がある Hipfile
近い point の色と自分の色を混ぜる
code:vlf.hxx
float maxdist = chf("maxdist");
int npts[] = nearpoints(0, @P, maxdist);
if (len(npts) > 1) {
vector out = {0, 0, 0};
foreach(int npt; npts)
{
vector nptrgb = point(0, "Cd", npt);
out += nptrgb;
}
// Update Color
@Cd = out / len(npts);
}
これは RGB Color model (@Cd をそのまま平均化する) VEX 以下はこれ以外の計算方法について補足的な内容
Color mixing のモデル
2022 現代でも新しい方法が登場している分野っぽくて, 答え となるようなアルゴリズムはまだ存在しない
どちらも VEX で実装するのは重いし本題ではないのでとりあえずかんたんな Color model を変換して計算を行う 黄色と青を混ぜて緑が誕生すると嬉しい
https://gyazo.com/c1776da0233e072256f8e55e029d93ae
Refs