如何使用OpenGL将String绘制到窗口?

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

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

您有两种选择:1)使用库; 或2)滚动自己,创建自己的调用,以显示文本。

1)有许多不同的库可用于将文本呈现给显示器; 然而,最明显和最容易接近的是GLUT。 您可以使用以下两个电话:

glutBitmapString() and glutStrokeString() 

其中第一个将文本显示在显示中,我猜这可能被称为2d方式(看起来像是粘贴在显示器右侧)。 后者用显示3d文本。

你可以参考

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

用于API参考。

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

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

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