我正在使用 C++,SDL和OpenGL 制作一个简单的2D平台游戏,现在我想在屏幕上显示文本,例如点,计时器,简单消息。
在不同的网站上,我读到了位图字体可能是解决问题的方法,但是有人可以给我一个简单易懂的示例,说明如何在OpenGL中使用它们将测试消息输出到屏幕上吗?
编辑:我发现了一些有趣的东西, FTGL 。教程中的示例代码(第二个链接)看起来非常简单。无法使它在atm上正常工作,但稍后会返回到它。
FTGL是一个免费的跨平台开源C++库,它使用Freetype2简化OpenGL应用程序中的渲染字体。 FTGL支持位图,像素图,纹理图,轮廓,多边形网格和拉伸(stretch)的多边形渲染模式。
最佳答案
您可以使用SDL_gfx,它可以使用位图字体输出文本,如下所示:
#include <SDL/SDL_gfxPrimitives.h>
#include <SDL/SDL_gfxPrimitives_font.h>
const char *text = "text to render";
stringColor(sdlSurface, x, y, text, 0xff0000ff);