使用位图字体工具BMFont从图片生成自定义字体

8 篇文章 0 订阅
8 篇文章 0 订阅

上一篇转了别人的一篇文章,讲了BMFont的基本用法。对BMFont比较陌生的同学请点击这里先去学习:http://blog.csdn.net/keshuiyun/article/details/9960589

本篇讲解如何利用美工提供的字符图形来生成自定义字体。

美术提供的字体经常是下面这样的:


或者这样的:


这时候我们就要借助BMFont了,首先针对真彩色的图形,我们要做一些设定,点击"Options"->“Export options”:



在弹出的窗口中,注意红框中“位深”,设为32:


然后,点击"Edit"->"(Un)Select all chars",取消选择所有字符。因为我们将在后边导入需要的字符。


OK,现在点击"Edit"->"Open Image Manager":


弹出图片管理窗体,如下:


那个"Image"是菜单,可以点击。选择"Image"->"Import image...":


弹出如下窗体:


点击"Browse"按钮,在弹出的“打开”窗口中选择一个字符图片,比如"0":


然后在ID后的文本框中输入字符"0"的Ascii值:48,点击"OK"。

这时返回主窗体,你会看到字符表中"0"右下角有一个小亮点标记,说明该字符的图形为自定义图片。如下图:


按上述方法,依次加入其它字符的图片,完成后如下:


OK,下面准备导出。导出前我们可以先点击"Options"->"Visualize"预览一下:


嗯,材质稍微有点大。导出fnt的方法大家都清楚了,就不再复述了。

最后得到如下文件:


好浪费内存啊,罪过罪过……

  • 6
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
在OpenGL中使用位图字体需要以下步骤: 1. 加载字形纹理 首先需要将字形纹理加载到OpenGL中。这可以使用OpenGL中的纹理贴图技术。通常,每个字形都包含在一个独立的图片中,你需要将这些图片加载到OpenGL纹理中。 2. 设置显示模式 下一步是设置显示模式。OpenGL提供了两种显示模式:正交和透视。正交模式下,物体的大小和位置与摄像机的距离无关,因此适合用于2D显示。透视模式下,物体的大小和位置会随着距离而变化,因此适合用于3D显示。在这里,我们将使用正交模式。 3. 设置投影矩阵 接下来需要设置投影矩阵。投影矩阵是一个将3D物体转换为2D屏幕坐标的矩阵。在正交模式下,投影矩阵可以简单地设置为一个单位矩阵。 4. 设置模型视图矩阵 模型视图矩阵定义了物体在世界坐标系中的位置和方向。在这里,我们将把它设置为一个单位矩阵。 5. 开始渲染 现在可以开始渲染了。我们需要使用glRasterPos()函数来指定每个字符的位置,然后使用glDrawPixels()函数来显示字符的图像。glRasterPos()函数用于指定下一个像素在屏幕上的位置,而glDrawPixels()函数用于绘制像素数据。 6. 清理 最后需要释放所有资源,包括字形纹理和OpenGL上下文。 这就是使用位图字体在OpenGL中渲染文本的基本步骤。需要注意的是,这种方法只适合用于低分辨率的屏幕,因为字形纹理的质量比较低。如果需要更高质量的文本渲染,可以考虑使用矢量字体

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值