我有一个简单的问题。我正在使用FTGL库在游戏应用程序中绘制PixmapFont
。我的问题是-是否可以使用glScalef()
缩放光栅字体?据我了解,如果我必须使用glRasterPos()
而不是glTranslatef()
,那么它也可能考虑使用glScalef()
函数吗?但是,如果是这样,是否没有任何缩放这种字体的方法?
这就是我需要扩展的范围:
我可以通过简单地输入以下内容来更改其大小:
font->FaceSize(12);
但是,这种小字体给我模糊的效果。根据我在某处阅读的内容,最好以较大的字体呈现字体-例如72-然后将其缩小,因为它会产生更好的结果。
最佳答案
您需要使用texture fonts来代替pixmap(光栅)字体。这将字体绘制为映射到三角形基元的纹理,这比直接绘制到帧缓冲区要灵活得多并且得到广泛支持。另请参见 FTTextureFont
documentation。
因为它只是渲染OpenGL原语,所以这种方法将考虑您使用glTranslatef
,glScalef
等设置的所有常规转换。为了获得最干净的结果,请使用glOrtho
设置像素完美的投影矩阵。