首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用于OpenGL的2D矢量图形渲染器

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

Stack Overflow用户
提问于 2010-10-30 02:05:27
回答 3查看 13.1K关注 0票数 7

我想在OpenGL游戏中使用矢量图形。我想使用矢量图形,因为它们可以在不损失质量的情况下以较低的成本缩放。

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

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

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-08-06 21:55:47

我不会为任何OpenVG而烦恼,即使是MonkVG,它可能是最现代的,尽管实现不完整。OpenVG委员会在2011年倒闭了,大多数实现,如果不是所有的实现,都是遗弃的软件,或者最好的遗留软件。

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

  • https://developer.nvidia.com/nv-path-rendering Nvidia集线器,但登录页面上的一些材料不是最up-to-date
  • http://developer.download.nvidia.com/devzone/devcenter/gamegraphics/files/opengl/gpupathrender.pdf Siggraph 2012 paper
  • http://on-demand.gputechconf.com/gtc/2014/presentations/S4810-accelerating-vector-graphics-mobile-web.pdf GTC 2014 presentation
  • http://www.opengl.org/registry/specs/NV/path_rendering.txt官方扩展文档

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

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

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

NanoVG是一个拥有更少(或完全没有)供应商支持或学术浮华的新贵,它目前正在开发和维护。(https://github.com/memononen/nanovg)根据OpenGL上的2D库的数量,随着时间的推移,在我看来,您正在使用一些主要供应商不支持的东西,这是在下很大的赌注。

票数 2
EN

Stack Overflow用户

发布于 2010-10-30 02:08:53

看看OpenVG吧。

票数 1
EN

Stack Overflow用户

发布于 2010-10-30 10:06:51

有很多关于in this Slashdot post渲染器的讨论。我不知道他们中的哪一个在使用OpenGL,如果有的话。

This SO question也有几个建议,包括用Python语言实现的sauvage。显然,Cairo也是一种可能性。

有几个功能强大的库可以在没有OpenGL的情况下呈现SVG。我想知道这是否真的没有必要:也许在大多数系统的显卡上绘制线条已经足够快了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4054612

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档