Textureの色の乗算について
ポテトサラダ 2017/01/01(Sun) 15:46
Reputeless 2017/01/03(Tue) 00:06
texture.draw(Color(220, 120, 100));
のような Siv3D の 2D 描画における標準の色の乗算は
[0<= r, g, b <= 1.0]
ColorF(r_1, g_1, b_1) に対して ColorF(r_2, g_2, b_2) を乗算した結果が ColorF(r_1 * r_2, g_1 * g_2, b_1 * b_2) となることを意味します。
ColorF(1.2, 1.5, 2.0) のような色を乗算できれば良いのですが、
2D 描画では Color 型に変換する過程で Color(255,255,255) に Clamp されてしまうので実現できません。
この場合はカスタム 2D PixelShader を使います。
https://github.com/voidproc/siv3d_examples
にある「ピクセルシェーダでテクスチャを白く点滅させるエフェクト」が近いサンプルコードです。