我正在使用 C++,SDL和OpenGL 制作一个简单的2D平台游戏,现在我想在屏幕上显示文本,例如点,计时器,简单消息。

在不同的网站上,我读到了位图字体可能是解决问题的方法,但是有人可以给我一个简单易懂的示例,说明如何在OpenGL中使用它们将测试消息输出到屏幕上吗?

编辑:我发现了一些有趣的东西, FTGL 。教程中的示例代码(第二个链接)看起来非常简单。无法使它在atm上正常工作,但稍后会返回到它。

FTGL是一个免费的跨平台开源C++库,它使用Freetype2简化OpenGL应用程序中的渲染字体。 FTGL支持位图,像素图,纹理图,轮廓,多边形网格和拉伸(stretch)的多边形渲染模式。

  • http://sourceforge.net/projects/ftgl/
  • http://ftgl.sourceforge.net/docs/html/ftgl-tutorial.html
  • http://nehe.gamedev.net/tutorial/freetype_fonts_in_opengl/24001/
  • 最佳答案

    您可以使用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);
    

    10-04 13:22