由于绘制字体在CPU方面非常昂贵, 许多开发人员使用栅格化字体在视频游戏上绘制文字;这就是我所做的。
在绘制文本时使用叠加混合可以很好地处理字形边缘, 这些与背景颜色很好地融合。
但它带来了另一个问题,
我决定实现一个'color'参数来绘制字体,而不是为每种颜色生成字形位图,否则很快就会出现内存使用问题;取决于需要多少字形和颜色以及字体大小,因为它支持Unicode,根据语言可能需要数千个字形。
现在当我混合时,在'红色'背景上说一个'绿色'字体,它会变成'橙色'! 添加剂混合的目的是什么,但试图绕过这一点比预期的要复杂一些。显然,当背景为“黑色”时不会发生,但最终可能不是那种颜色。
如何将“白色”字体重新着色为“任意”颜色,同时仍保留“任意”颜色的添加剂混合?
非常感谢:D