大约20年前的gpu gems系列里有篇文章,作者脑洞大开提出了个极简单算法,优点包括:
非常适合渲染矢量字体,只用了二次贝塞尔曲线的truetype字体是最简单的情况
三角化一次就能渲染任意尺寸,三角化的计算可以离线预处理
最后一步才进行抗锯齿计算,避免提前生成的抗锯齿纹理在渲染时会再次进行抗锯齿导致文本模糊
不需要大量内存保存纹理,上传给gpu的数据量小,显存和显存带宽占用小
【 在 hgoldfish 的大作中提到: 】
: 一个是因为以前的文字渲染用了各种加速手段。比如 windows 以前对英文中文使用的其实是内嵌点阵,一直到 winxp 之后搞了才有 LCD 子像素渲染。二是以前的分辨率比较低,现在到处都是高 DPI 屏幕渲染计算量翻倍。三是文字渲染一般都是 TrueType,很难跑在 GPU 上面。四是浏览
: 麂秩靖丛佣缺染蔡淖指撸琔nicode还有各种奇葩。
: 我记得 3D 文字渲染一般也是在 CPU 里面渲染好之后,丢到显存里面当贴图。
: ...................
--
FROM 114.249.239.*