opengl - OpenGL 的 2D 矢量图形渲染器

标签 opengl vector-graphics

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

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

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

最佳答案

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

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

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

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

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

一个 Upstart 是NanoVG,它的供应商支持更少(或根本没有),目前正在开发和维护。 ( https://github.com/memononen/nanovg ) 考虑到随着时间的推移,基于 OpenGL 的 2D 库的数量不断出现和消失,以我的拙见,您在使用不受主要供应商支持的东西上下了很大的赌注。

关于opengl - OpenGL 的 2D 矢量图形渲染器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4054612/

相关文章:

c++ - 有没有一种方法可以自动链接 OpenGL 程序需要的所有库,而无需在编译时明确写入它们的标志?

c++ - 不正确的插值,opengl索引的vbo,顶点结构和glsl

objective-c - Quartz2D 路径上的 3D 转换 - 绘图应用程序

php - 将分层 SVG 矢量图形转换为分层 EPS 矢量图形

algorithm - 位置点: distance to a specified route

iOS:矢量图形/图像

ios - 基于平铺矢量的 map iOS

C++/OpenGL - 绘制立方体 VBO

c++ - 无法在屏幕上绘制正方形(相同的宽度和高度)

c++ - GLEW 和 openGL 弃用