如何使用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中没有方法可以轻松打印文本。 您必须使用为此目的而存在的库之一,或者您必须自己编写它。