KlayGE中的字体

官方文档参见:http://klayge.sourceforge.net/html/font_in_klayge.html

这里只是一些测试

看了龚敏敏写的文档, 觉得这种方式很意思, 就拿来玩玩.

因为中文字体的渲染在3D程序中确实是个问题, 尤其是字体大小不固定时, 放缩会出现走样.

KlayGE的方法是一种用点阵图模拟矢量图的方案, 把计算过程放在字体生成时, 而运行时的绘制相对常规方法来说消耗很小.

KFontGen目前好像有问题, 生成过程中会由于超出32位所能寻址的最大内存而报错退出. 原先我以为2G内存不够用, 换自己的4G内存机器也不行. 难道生成时要用64位机? 看来这个生成工具需要修正一下内存的占用率.

在DEBUG模式下, 字数很多时, 帧率会急剧下降, 用PerfHUD看了一下曲线图, 是CPU瓶颈, 可能是因为KlayGE中大量使用的boost在DEBUG模式下的速度变成牛一样吧?

Release下就好多了:

字体的绘制只有一次DP:

字体绘制时使用的纹理buffer, 从这里我们可以看到distance field的一个比较直观的储存格式:

 

对比一下ID3DXFont的效率(Nebula3中debug text的绘制方式):

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值