如何使用标准OpenGL函数绘制文本(在屏幕上书写)?

时间:2010-08-14 12:14:25

标签: delphi opengl

我知道我可以用GLUT做到这一点。但是,我有一个大项目,我有问题添加GLUT(我正在使用Delphi)。

那么,我还有其他选择吗?

4 个答案:

答案 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驱动程序和纹理缓存中产生的开销)。