我有一个简单的问题。我正在使用FTGL库在游戏应用程序中绘制PixmapFont。我的问题是-是否可以使用glScalef()缩放光栅字体?据我了解,如果我必须使用glRasterPos()而不是glTranslatef(),那么它也可能考虑使用glScalef()函数吗?但是,如果是这样,是否没有任何缩放这种字体的方法?

这就是我需要扩展的范围:

我可以通过简单地输入以下内容来更改其大小:

font->FaceSize(12);

但是,这种小字体给我模糊的效果。根据我在某处阅读的内容,最好以较大的字体呈现字体-例如72-然后将其缩小,因为它会产生更好的结果。

最佳答案

您需要使用texture fonts来代替pixmap(光栅)字体。这将字体绘制为映射到三角形基元的纹理,这比直接绘制到帧缓冲区要灵活得多并且得到广泛支持。另请参见 FTTextureFont documentation

因为它只是渲染OpenGL原语,所以这种方法将考虑您使用glTranslatefglScalef等设置的所有常规转换。为了获得最干净的结果,请使用glOrtho设置像素完美的投影矩阵。

10-07 19:12
查看更多