用于OpenGL的2D矢量图形渲染器

Nat*_*han 7 opengl vector-graphics

我想在OpenGL游戏中使用矢量图形.我想使用矢量图形因为它们可以廉价地缩放而不会降低质量.

当然,绘图应该是硬件加速的,所以我不想在软件中绘制纹理.

现在我想知道这样做的库是否已经存在.是否有一个库,可以加载一些矢量图形格式并使用OpenGL显示它?

Fiz*_*izz 2

我不会为任何 OpenVG 烦恼,甚至不会为 MonkVG 烦恼,MonkVG 可能是最现代的,尽管不完整的实现。OpenVG 委员会已于 2011 年解散,大多数(如果不是全部)实现都是废弃软件或最多是遗留软件。

自 2011 年以来,最先进的技术是 Mark Kilgard 的宝贝NV_path_rendering,它目前只是一个供应商 (Nvidia) 扩展,正如您可能已经从其名称中猜到的那样。这方面有很多材料:

NV_path_rendering 现在由 Google 的 Skia 库在幕后使用(如果可用)。(Nvidia 在 2013 年末和 2014 年贡献了代码。)

为了回答评论中提出的更具体的问题,您可以将路径渲染与其他 OpenGL (3D) 内容混合,如以下演示:

您当然可以加载 SVG 等https://www.youtube.com/watch?v=bCrohG6PJQE。它们还支持路径的 PostScript 语法。

NanoVG是一个拥有更少(或完全没有)供应商支持或学术浮华的新贵,目前正在开发和维护。( https://github.com/memononen/nanovg ) 考虑到 OpenGL 上的 2D 库的数量随着时间的推移而不断变化,以我的愚见,您正在冒着大赌注,使用主要供应商不支持的东西。