官方文档参见: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的绘制方式):
分享到:
相关推荐
KlayGE引擎
Linux,粘土游戏引擎(KlayGE)是一个开放源代码的,跨平台的,基于插件结构的游戏引擎。该引擎从2003年开始研发,设计目的是用最先进的技术武装引擎,使游戏的开发、测试、移植得到简化。
克莱 KlayGE是具有基于插件的体系结构的跨平台开源游戏引擎。 它从2003年开始。KlayGE的明确目标是:用最先进的技术武装您的引擎。 它提供了使游戏开发,测试,移植尽可能简单的框架。入门在编译KlayGE之前,必须先...
windows,粘土游戏引擎(KlayGE)是一个开放源代码的,跨平台的,基于插件结构的游戏引擎。该引擎从2003年开始研发,设计目的是用最先进的技术武装引擎,使游戏的开发、测试、移植得到简化。
KlayGE是基于OPENGL的3D游戏引擎之一,采用Pure C++开发,编译方法可以参照网络上的文档,效果一流的棒。
KlayGE是一个基于插件架构的跨平台开源游戏引擎
KlayGE2Git 为 KlayGE 转换为 Git 的工具...将这些文件与 KlayGE 的 hg 一起复制到文件夹中。 ResourceFiles.py:将当前修订版中的大资源文件分离到另一个文件夹。 GenSlimFileMap.py:生成整个历史中的大文件列表。
KlayGE KlayGE是具有基于插件的体系结构的跨平台开源游戏引擎。 它从2003年开始。KlayGE的明确目标是:用最先进的技术武装您的引擎。 它为ma KlayGE提供了框架。KlayGE是具有基于插件的体系结构的跨平台开源游戏引擎...
内置简单的UI系统,距离场字体(未完成)。 从 FBX 或 OGRE 二进制网格格式导入模型/动画/材料。 ###去做: 更改为实体组件架构。 添加对物理引擎的支持。 添加对 lua 脚本的支持。 ###样品: 基于平铺的...
KlayGE,http://klayge.sourceforge.net/ 这是国人写的开源引擎 2D: HGE,http://hge.relishgames.com/ Amanith,http://www.amanith.org/blog/index.php  一款真正意义上的跨平台引擎,支持很多平台的编译器
在 KlayGE 首次引入 C++11 特性之后,我顺便调研了一下个主流编译器对 C++11 的支 度,以便在下个版本中加入更多的 C++11 元素。这里还列出了在不支持的时候,可以采 的替代方案。主要参考了 C++11 Features in ...
KlayGE是具有跨插件架构的开源,跨平台游戏引擎。 它提供了使游戏开发,测试,移植尽可能简单的框架。