0

我正在创建一个游戏,但我有一个问题:我如何在屏幕上绘制文本,因为我想在玩家每次捡起东西或受伤时打印一些东西。我已经知道 Graphics 的 drawString() 函数,但如果我使用 OpenGL,我不确定这是否可以。是否有来自 OpenGL 的方法可以让我轻松地将文本打印到屏幕上?

4

2 回答 2

1

在 OpenGL 中,没有可调用的函数/方法将文本渲染到屏幕上。

您有两个选择: 1)使用库;或 2) 自己动手,创建自己的调用以将文本呈现到显示器。

1) 有许多不同的库可用于将文本呈现到显示器;然而,最明显和最容易获得的是在 GLUT 中。您可以使用其中的两个调用:

glutBitmapString() and glutStrokeString()

其中第一个将以我猜可以称为 2d 方式的方式将文本呈现到显示器上(看起来像是粘贴在显示器的右侧)。后者带有显示 3d 文本。

你可以参考

http://freeglut.sourceforge.net/docs/api.php

用于 API 参考。

2) 您可以创建一个函数/方法,使用标准的 OpenGL 函数将字符纹理呈现给显示器,或者您可以通过调用 glDrawPixels() 来使用模板缓冲区来生成字符。

我没有尝试过这些:我只是在想我的头,所以你的里程可能会有所不同。祝你好运。

于 2012-10-30T20:57:42.330 回答
0

不,OpenGL 中没有轻松打印文本的方法。您必须使用为此目的而存在的库之一,或者您必须自己编写它。

于 2012-10-30T17:33:22.777 回答