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