【发布时间】:2013-01-01 14:04:52
【问题描述】:
我将从一张图片开始:
上图显示了以两种不同方式实现的文本,都使用了相同类型的字体 - Arial、粗体、11 号。
底部的那个是在图像编辑程序中创建的,顶部的那个是在我的 OpenGL 应用程序中创建的。更准确地说,使用 FTGL 库中的FTExtrudeFont:
font_ptr font(new FTExtrudeFont(filename.c_str()));
我的问题是,为什么画成这样?我认为造成这种情况的原因可能是不同的大小调整算法,但如果是这样,我怎样才能在我的 OpenGL 应用程序中实现这种更好看的字体(底部字体)?
编辑:
要渲染字体,我只调用这个函数:
font->Render(text, // Text to be displayed
-1, // Line length, which by default is left as -1
pos); // Position in which to draw text
【问题讨论】:
-
你需要一个突出的字体吗?可以试试普通的矢量字体还是带纹理的字体,看看能不能得到更好的效果?
-
@bde 我尝试了带纹理的字体,但它是抗锯齿的,在这种情况下对我不利,因为我需要清晰、真正的黑色轮廓。