官方文档参见: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的绘制方式):
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有