关于“添加剂混合”和“色调替换”的问题

由于绘制字体在CPU方面非常昂贵,许多开发人员使用栅格化字体在video游戏上绘制文本; 那也是我做的。

在绘制文本时使用叠加混合可以很好地处理字形边缘,这些与背景颜色很好地融合。

但它带来了另一个问题,

我决定实现一个’color’参数来绘制字体,而不是为每种颜色生成字形位图,否则很快就会出现内存使用问题; 取决于需要多少字形和颜色以及字体大小,因为它支持Unicode,根据语言可能需要数千个字形。

现在当我混合时,在’红色’背景上说一个’绿色’字体,它就变成了’橙色’! 添加剂混合的目的是什么,但试图绕过这一点比预期的要复杂一些。 显然当背景为“黑色”时不会发生,但最终可能不是那种颜色。

如何将“白色”字体重新着色为“任意”颜色,同时仍保留“任何”颜色的添加剂混合?

非常感谢:D

我修好了,这就是答案!