`
izuoyan
  • 浏览: 8946768 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

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的绘制方式):

分享到:
评论

相关推荐

    KlayGE引擎

    KlayGE引擎

    KlayGE-4.17.tar.gz

    Linux,粘土游戏引擎(KlayGE)是一个开放源代码的,跨平台的,基于插件结构的游戏引擎。该引擎从2003年开始研发,设计目的是用最先进的技术武装引擎,使游戏的开发、测试、移植得到简化。

    KlayGE:KlayGE是具有基于插件的体系结构的跨平台开源游戏引擎

    克莱 KlayGE是具有基于插件的体系结构的跨平台开源游戏引擎。 它从2003年开始。KlayGE的明确目标是:用最先进的技术武装您的引擎。 它提供了使游戏开发,测试,移植尽可能简单的框架。入门在编译KlayGE之前,必须先...

    KlayGE-4.17.zip

    windows,粘土游戏引擎(KlayGE)是一个开放源代码的,跨平台的,基于插件结构的游戏引擎。该引擎从2003年开始研发,设计目的是用最先进的技术武装引擎,使游戏的开发、测试、移植得到简化。

    KlayGE-基于OPENGL的3D游戏引擎

    KlayGE是基于OPENGL的3D游戏引擎之一,采用Pure C++开发,编译方法可以参照网络上的文档,效果一流的棒。

    cpp-KlayGE是一个基于插件架构的跨平台开源游戏引擎

    KlayGE是一个基于插件架构的跨平台开源游戏引擎

    KlayGE2Git:为 KlayGE 转换为 Git 的工具

    KlayGE2Git 为 KlayGE 转换为 Git 的工具...将这些文件与 KlayGE 的 hg 一起复制到文件夹中。 ResourceFiles.py:将当前修订版中的大资源文件分离到另一个文件夹。 GenSlimFileMap.py:生成整个历史中的大文件列表。

    KlayGE是具有基于插件的体系结构的跨平台开源游戏引擎。-C/C++开发

    KlayGE KlayGE是具有基于插件的体系结构的跨平台开源游戏引擎。 它从2003年开始。KlayGE的明确目标是:用最先进的技术武装您的引擎。 它为ma KlayGE提供了框架。KlayGE是具有基于插件的体系结构的跨平台开源游戏引擎...

    RcEngine:RcEngine 是一个用 C++ 实现的图形引擎,灵感来自 OGRE 和 KlayGE

    内置简单的UI系统,距离场字体(未完成)。 从 FBX 或 OGRE 二进制网格格式导入模型/动画/材料。 ###去做: 更改为实体组件架构。 添加对物理引擎的支持。 添加对 lua 脚本的支持。 ###样品: 基于平铺的...

    hge开发必备之开发包和实例

    KlayGE,http://klayge.sourceforge.net/ 这是国人写的开源引擎 2D: HGE,http://hge.relishgames.com/ Amanith,http://www.amanith.org/blog/index.php  一款真正意义上的跨平台引擎,支持很多平台的编译器

    各编译器对C++11的支持比较

    在 KlayGE 首次引入 C++11 特性之后,我顺便调研了一下个主流编译器对 C++11 的支 度,以便在下个版本中加入更多的 C++11 元素。这里还列出了在不支持的时候,可以采 的替代方案。主要参考了 C++11 Features in ...

    Klay Game Engine-开源

    KlayGE是具有跨插件架构的开源,跨平台游戏引擎。 它提供了使游戏开发,测试,移植尽可能简单的框架。

Global site tag (gtag.js) - Google Analytics