C++ 基于OpenGL的矢量文本绘制

C++ 基于OpenGL的矢量文本绘制,c++,opengl,graphics,svg,fonts,C++,Opengl,Graphics,Svg,Fonts,我读过关于渲染由二次/三次贝塞尔曲线边界定义的形状的书。我希望以此为基础来创建文本,使其填充起来就像被笔或刷子以某种方式抚摸一样。(欢迎提供有关如何操作的任何建议。) 但是,我有点不确定从哪里获得本文中指定格式的字体/形状(表示二次/三次贝塞尔的点阵列) 有人知道一种获取这种格式的字体/矢量图形的方法吗?论文作者提到了truetype字体,但根据 看起来解析truetype字体可能涉及的远不止这些?我知道也有像.svg这样的格式,但我不确定从哪里开始,因为它包含的内容比我希望从中得到的要多得多

我读过关于渲染由二次/三次贝塞尔曲线边界定义的形状的书。我希望以此为基础来创建文本,使其填充起来就像被笔或刷子以某种方式抚摸一样。(欢迎提供有关如何操作的任何建议。)

但是,我有点不确定从哪里获得本文中指定格式的字体/形状(表示二次/三次贝塞尔的点阵列)

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

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

例如,是否有某种类型的文件格式可以通过使用inkscape的导出功能将.svg文件或truetype文件转换为,从而可以解析点和控制点阵列的结果格式


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


这正是我想要的。代码工作得很好,但是理解如何使用它有点困难。如果您阅读关于TTF格式的内容,比如这里,这会更有意义。

我建议使用跨平台库FreeType()。FreeType加载字体文件,并提供字体轮廓的边界曲线。具体来说,您应该查看函数
FT\u Outline\u Decompose
,它提供了您想要的内容。

显示了如何在OSX上获取字形轮廓。它可能已经过时,但可能是一个好的起点。