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

时间:2012-10-30 16:19:04

标签: java opengl

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

2 个答案:

答案 0 :(得分:1)

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

您有两种选择:1)使用图书馆;或者2)滚动自己,创建自己的调用以将文本呈现给显示器。

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

glutBitmapString() and glutStrokeString()

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

你可以参考

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

用于API参考。

2)你可以创建一个函数/方法,使用标准的OpenGL函数将字符纹理渲染到显示,或者你可以使用模糊缓冲区来调用glDrawPixels()来生成字符。

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

答案 1 :(得分:0)

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