可能重复:
RGB 值的加色混合算法
我正在为我的游戏开发一个灯光系统,我几乎完成了它。但我有一个颜色固有的问题:如何正确混合它们?
我找到并使用的最简单的答案是平均它们的 RGB 值,但是当它们被多次平均时,结果会趋于灰色。简单解释一下,我使用的方法如下:
// XNA, where there isn't a FromARGB method, and the
// values are given in the constructor.
Color result = new Color(
(C1.R + C2.R) / 2,
(C1.G + C2.G) / 2,
(C1.B + C2.B) / 2
);
但是如果我必须混合许多不同的颜色,同时保持最正确的值,我该怎么办?我提出了一个新问题,因为我对颜色不太了解,并且不确定不同情况(例如灯光)是否需要不同的方法。提前感谢您的回复。