【问题标题】:LWJGL 3 - Rendering Text [closed]LWJGL 3 - 渲染文本 [关闭]
【发布时间】:2015-09-15 08:01:30
【问题描述】:

我正在尝试使用未弃用的 OpenGL 在 LWJGL 3 中呈现文本。我不能使用 Slick-Util,它依赖于旧版本的 LWJGL 和已弃用的 OpenGL。

如果我用标准 C++ OpenGL 编写,我会使用 FreeType,但我不能。那么我将如何开始创建一个可以处理文本渲染的类,并支持:

  • 不同的字体/字体大小/粗体、斜体等
  • 字体着色
  • 字体转换

有没有人有关于这个主题的任何好的资源,最好是 Java 和 LWJGL?

【问题讨论】:

  • 您可以将 AWT 字体作为输入,然后使用 Graphics 对象在 BufferedImage 上绘制从 0 到 256 的每个字母。使用这种方法,字体大小/颜色在运行时是不可更改的,但它被广泛使用。
  • 谢谢,有道理!你能举个例子说明你在说什么吗?只是让我明白该怎么做。 @JackWhiteIII
  • this 是 Slick2D 的做法。他们使用立即模式,但我相信您可以将其转换为不推荐使用的代码。
  • 再次阅读您的问题,我的评论似乎没有多大意义。我真正想说的是,在实际创建字体时,Slick2D 几乎使用了最好的方法,但是要渲染字体,您需要将他们的 drawQuad 方法转换为最新的 OpenGL 标准。我不熟悉新标准,它们对我来说似乎不必要地复杂,但基本上你只需要一个 VBO 并以某种方式填充数组值(这确实是我每次都得到的)。

标签: java opengl text lwjgl


【解决方案1】:

LWJGL3 有一个与 STB 的内置绑定,可以加载 TTF 字体文件,LWJGL3 存储库中有一些示例向您展示如何使用它来呈现文本。

更多细节和例子可以在here找到。

【讨论】:

  • 这些例子都使用了已弃用的 OpenGL :/ @Gavin
  • 您需要查看的主要内容是 STB api,它们可以使用现代 OpenGL 轻松实现。
  • 我无法渲染文本,有什么解决办法吗?
  • 请在此处提供示例,因为提供的链接现在无效。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-07-30
  • 2012-11-12
  • 2011-11-09
  • 1970-01-01
相关资源
最近更新 更多