相关疑难解决方法(0)

如何为GUI进行OpenGL实时文本渲染?

我正在实现一个基于OpenGL构建的GUI.我遇到了每个GUI都有的问题 - 文本渲染.我知道在OpenGL中渲染文本的几种方法,但是,我想知道哪种方法最适合GUI.

通常在GUI中我们有两种类型的文本 - 静态和实时.静态很容易 - 我们可以将TTF渲染到纹理并忘记它.这是"现场"文本,更让我烦恼 - 想象控制台,或多人游戏中的实时聊天.

我想到了几个选择:

  • 没有特殊情况 - 每次文本更改时渲染和加载纹理,请记住只在实际出现新文本时重新渲染它,并尝试将较大的文本拆分为小部分(如每个聊天行).然而,这仍然会让我们陷入像记分线一直在变化的情况,或者是一个呈现"每个角色"的介绍文本(在一些科幻游戏中看到的打字机风格)
  • quad-per字符 - 这似乎也是一种流行的解决方案,您可以使用ASCII表格准备纹理并渲染纹理四边形字符.但是,我对这种解决方案的效率存在严重怀疑.提示如何加快速度也很受欢迎.
  • 混合解决方案 - 但我不知道如何干净利落地实施

因此问题是 - 如何有效地在OpenGL中呈现文本?

如果这有帮助,我将使用STL/Boost-heavy C++进行编码,并针对GForce 6及更高版本的显卡.

opengl performance text-rendering

41
推荐指数
3
解决办法
3万
查看次数

将SDL_ttf与OpenGL一起使用

我正在使用OpenGL和SDL在我的程序中创建一个窗口.

如何在OpenGL窗口中使用SDL_ttf?

例如,我想加载一个字体并渲染一些文字.我想使用SDL OpenGL表面绘制文本.

opengl sdl sdl-ttf

18
推荐指数
1
解决办法
1万
查看次数

标签 统计

opengl ×2

performance ×1

sdl ×1

sdl-ttf ×1

text-rendering ×1