【问题标题】:OpenVG implementation? [closed]OpenVG 实现? [关闭]
【发布时间】:2010-09-28 22:07:40
【问题描述】:

存在哪些 OpenVG 实现?

它们各自的优缺点是什么?

我正在寻找的是一种高度稳定、快速的渲染实现,它仍在积极维护和开发中。

【问题讨论】:

  • 这次比尔错过了:(

标签: openvg


【解决方案1】:

似乎没有人对此了解很多,我承认我也不知道。我和任何人一样受谷歌的约束。首先要查看的地方似乎是 KhronosWikipedia

【讨论】:

  • 我已经阅读了关于它的 Khronos 规范,并且我计划很快自己发布一个答案以及我的发现。我只是有点震惊,那里几乎没有关于它的信息。
  • 对于现在阅读本文的任何人,它都内置在 Raspberry Pis 中。看hello_tiger演示程序,如果没有/opt/vcgithub.com/raspberrypi/userland,安装userland包
【解决方案2】:

我曾使用过一些 OpenVG,但并没有很多实现。我碰巧用了ShivaVG,它使用了OpenGL,但是有一段时间没有更新了 其他一些实现包括:

  • The reference implementation (我发现它令人难以置信 慢;但是,没有任何 其他目前最高 1.1 然而(OpenVG 1.1 标准来了 12月初)

  • GingkoVG - 仅二进制并使用 它自己的窗口系统(但是,嘿, 无论如何,他们都这样做)。

  • AmanithVG - 商业;看起来 相当抛光。我认为有使用 成为免费版本,但我不能 好像找到了。

  • KompazzVG/AntigrainVG - 一个 使用 AGG 实现;看起来 很好,但是作者没有 公开发布任何代码,尽管 有一个项目现场和一个 神秘的 svn 树干。

请注意,这些都是桌面的实现;我不确定移动设备上的实际硬件支持是什么。

就个人而言,我认为 ShivaVG 是最好的,因为它支持足够的功能来完成大多数事情,而且速度很快。有一些未修复的错误,但是,源代码是开放的。

顺便说一下,ShivaVG 的 SF 网站是here;您可能希望使用主干版本,而不是编号版本,因为它稍微更新一些。 KompazzVG 主干也可能是here

【讨论】:

  • 注意:参考实现非常慢。 ShivaVG 以 60 fps 的速度渲染老虎示例,而引用大约需要 13 秒来渲染一次。
  • 这里有一个有效的 SVN 存储库:svn.assembla.com/svn/kompazz/kvg/trunk
  • 我在使用 ShivaVG 主干运行最近的 autoconf 时遇到问题?
  • 是否可以为 iOS 编译 ShivaVG
【解决方案3】:

感谢您的帖子。 D L,您的列表非常全面,因为目前没有那么多 OpenVG 支持。我发现的另一种实现是:

  • Zack Rusin: OpenVG - 这个实现是用 Qt 的 OpenGL 实现构建的。与 ShivaVG 一样,它已经有一段时间没有更新了,但它也是开源的。

我将公开此信息,并希望我们在未来获得更多关于其他实施的反馈。

【讨论】:

    【解决方案4】:

    AmanithVG SRE(软件光栅化引擎)和 GLE(OpenGL ES 辅助光栅化引擎)都实现了整个 OpenVG 1.1 和 OpenVG 1.0.1 功能集。

    两个引擎的评估版本都可以在 AmanithVG website 上下载。

    AmanithVG 内部测试套件结果以及测试源可通过 GLE tests pageSRE tests page 浏览。

    AmanithVG SRE 和 GLE 可用于以下目标平台:

    Windows 2000 / XP / Vista,在 x86、x86_64 上;

    Windows CE / Mobile,在 ARM v5、v6 上(带或不带 VFP);

    MacOS X 10.4 / 10.5,在 PowerPC、Intel(通用二进制)上;

    Linux 2.6.x、x86、x86_64、PowerPC、ARM v5、v6(带或不带 VFP)、SH4;

    x86、PowerPC、ARM v6、SH4 上的 QNX 6.4.x。

    【讨论】:

      【解决方案5】:

      MonkVG 是一种类似于 OpenVG 1.1 的矢量图形 API 实现,目前使用 OpenGL ES 后端,应该与任何支持 OpenGL ES 2.0 的硬件兼容,包括大多数 iOS 和 Android 设备。

      这是一个开源 BSD 许可项目,正在积极开发中。在撰写本文时,它处于非常早期的预发布状态(实现的功能非常少)。欢迎贡献者和赞助商。

      可以在GitHub上找到http://github.com/micahpearlman/MonkVG

      【讨论】:

      • 请注意,他们不支持的功能列表(相对于 OpenVG 规范)很长......从图案笔触和填充、渐变笔触等开始。如果你想要什么这只是模糊地像 OpenVG,你也可以选择 NanoVG,它是更新的并且目前正在维护 (github.com/memononen/nanovg)。自 2011 年以来,Kilgard/Nvidia 还开发了自己的用于路径渲染的 OpenGL 扩展NV_path_rendering (developer.nvidia.com/nv-path-rendering),巧合的是 (??) 也是 OpenVG 委员会解散的那一年。
      • MonkVG 专为提高速度和在低端设备上工作而设计。它从来都不是完全符合 OpenVG 的。如果您正在寻找完整的 OpenVG 功能集和合规性,肯定有更好的选择。 NanoVG 看起来很有趣,尤其是它的快速 tessellator 引擎。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-10
      • 2012-02-24
      • 2010-11-05
      • 2016-12-20
      • 2010-12-21
      • 2013-02-24
      相关资源
      最近更新 更多