代码之家  ›  专栏  ›  技术社区  ›  Clay Bridges

OpenGL ES字体呈现(在iOS上)…健全性检查

  •  4
  • Clay Bridges  · 技术社区  · 14 年前

    我在为iOS写游戏。它有一个游戏地图,我用OpenGL来绘制,因为其他选项太慢了。我在地图上有单位,用字母表示,a la Dwarf Fortress

    我目前正在使用一个性能调整过的Texture2D变种,它已经足够好了,但是它有各种各样的问题,并且不能为我产生很好的结果。

    看起来,一种行之有效的方法是生成一个“目录”图像文件,其中包含字体中呈现的所有字母,然后在要渲染它们时将它们映射到纹理上(cf。 here ). 不过,我在地图上放大缩小了很多。再加上视网膜显示器和iPad,将需要多种分辨率。丑陋的。

    FTGLES ,它可以在iOS/OpenGLES上动态呈现TTF/OTF字体。这不是即插即用。我已经努力了几天,使它更接近工作,但我想我已经有了黄金之路了。所以。。。我疯了吗?我是不是在为自己创造更多的工作?

    2 回复  |  直到 14 年前
        1
  •  3
  •   Clay Bridges    14 年前

    是的,这太疯狂了,为我自己创造了更多的工作。就我的具体情况而言,Texture2D几乎掌握了我需要的所有秘密。我决定拥有纹理2D,学习它,让它成为我自己的。通过使用更大的字体(50点)进行渲染,然后缩小比例,我在OpenGL中获得了非常好的效果:

    alt text

    请注意,我已经通过为每个字母创建一个Texture2D对象进行了优化,然后在需要时查找这些对象。我可以进一步优化收集我所有的纹理绘制和作出一个OpenGL绘制调用每种颜色。

        2
  •  1
  •   Justin Meiners    14 年前

    这是一个很好的纹理映射 tutorial 我用过。显然,这使用了显示列表和一些在opengles中无法实现的功能,但是转换起来应该不会太困难。你也可以看看一些不同的技巧 here . 一种技巧是用脸画每个角色。