我知道我可以用GLUT做到这一点。但是,我有一个大项目,我有问题添加GLUT(我正在使用Delphi)。
那么,我还有其他选择吗?
答案 0 :(得分:6)
你不能用标准的OpenGL函数来做,除非你基本上有纹理包含文本,或者你从中绘制纹理的字符列表。但是不要重新发明轮子 - 我建议FTGL在OpenGL视图中渲染文本。它有几种不同的渲染方法,可以为你提供字距调整,支持unicode,并且具有良好的文本指标功能。
答案 1 :(得分:2)
使用TextSuite。 http://textsuite.opengl24.de/
答案 2 :(得分:1)
使用FreeType在给定文本的情况下生成位图。
编辑:它是一个成熟的跨平台库,可根据包括普通Windows TrueType字体在内的字体提供完整的文本显示功能。以下是维基百科的定义:
FreeType是一个编写的软件库 在C中实现字体 光栅化引擎。它习惯了 将字符栅格化为位图和 为其他人提供支持 与字体相关的操作。
答案 3 :(得分:1)
如果做决定实现自己的字体系统,请务必使用texture atlas,我看过太多OpenGL演示,每个字形使用一个纹理,这会导致残酷性能(由于OpenGL驱动程序和纹理缓存中产生的开销)。