渲染矢量文本OpenGL

Rendering Vector Text OpenGL

本文关键字:文本 OpenGL      更新时间:2023-10-16

我已经在GPU上阅读了渲染由二次/三次贝塞尔曲线边界定义的形状的渲染矢量艺术。我希望在此基础上创建文本,让它像钢笔或刷子一样填充。(任何关于如何做到这一点的建议都是欢迎的。)

然而,我有点不确定从哪里得到具有本文指定格式的字体/形状(代表二次/三次贝塞尔的点数组)。

有人知道这种格式的字体/矢量图纸的方法吗?论文的作者提到了truetype字体,但是根据

TrueType字体解析C

看起来解析truetype字体可能涉及的远不止这些?我知道也有像。svg这样的格式,但我不确定从哪里开始,因为它包含的内容比我希望从中得到的要多得多。

作为一个例子,是否有某种类型的文件格式,我可以转换一个。svg文件或truetype文件,也许通过使用一些inkscape的导出功能,这样的结果格式将有可能解析点和控制点的数组?


我接受了下面的答案,但是对于任何对此感兴趣的人,你应该查看

https://github.com/quarnster/TTF

这正是我想要的。代码工作得很好,但是要理解如何使用它有点困难。如果您阅读有关TTF格式的内容,就会更有意义,例如这里的TrueType字体介绍:查看TTF格式

我建议使用跨平台库FreeType (http://www.freetype.org/)。FreeType加载字体文件,并提供字体中字形的边界曲线。具体来说,您应该查看函数FT_Outline_Decompose,它提供了您想要的东西。