好久没写博客了,今天写一下如何在ogre中使用自己的字体.
在ogre中主要有两种方式生成字体:
一种是利用truetype字体生成字体纹理, 在材质中字体使用的资源往往以.ttf的形式存在
另一种是用自己画的图片生成字体. 在材质中只要提供一张图片(纹理)即可.
下面分别介绍一下这两种字体的实现方式.
1. 利用truetype字体生成字体纹理
这种方式比较轻松, 打开 ogreSDK(我的版本是1.6.4)的media/fonts文件夹 会看到一个sample.fontdef文件
和solo5.ttf文件. 打开sample.fontdef 看到如下定义:
StarWars
{
// Now this one I agree with ;)
// A Star Wars font :)
type truetype
source solo5.ttf
size 16
resolution 96
}
上面就是ogreSDK为我们定义了StarWars这样的字体
下面主要介绍参数的意义:
type 告诉ogre使用truetype方式生成字体
source 要使用的字体库(这些字体库网上可以下载)
size 字体的大小
resolution 按每英寸中的点数计算的清晰度(官方手册的解释)
此外还有antialias_colour, code_points nn-nn [nn-nn] ..参数 可以参考官方资料
就这样,一个新的字体就定义完成了,在ogre中使用FontManager::getSingleton().getByName(“StarWars”);
就能获取这个字体了。
注意: 这样设置的字体不能显示中文。如果要显示中文&