我正在制作游戏,想使用矢量图形。我开始使用开罗对其进行重新编码,性能令人震惊。因此,我正在寻找其他图书馆。它需要用于C ++和跨平台(例如,没有Direct2D)。有人曾经这样问过另一个问题,但是没有任何合适的答案。一定有东西...?
我正在制作游戏,想使用矢量图形。我开始使用开罗对其进行重新编码,性能令人震惊。因此,我正在寻找其他图书馆。它需要用于C ++和跨平台(例如,没有Direct2D)。有人曾经这样问过另一个问题,但是没有任何合适的答案。一定有东西...?
Answers:
我担心这个主题很棘手,似乎很少启动多平台解决方案,而且似乎很少能独立生存。几个月前,我正在研究这个主题。我有一个约束,因为我需要引擎在iOS和Android上运行。当时没有找到真正适合我的东西。
但是我记得以下几点:每个GUI系统都有某种形式的绘图API。因此,您可能会在跨平台的QT之类的东西中找到一些有趣的东西。
相当于cairo的是AntiGrain,您可能需要比较性能。
OpenFrameworks支持矢量图形。
ImageMagick是一个非常大的库,具有一些矢量图形支持-以及专用于它的语言。
在较低的级别,您将从gnome项目中找到Libxmi和Libart。
这不是一个高水平的API-我不确定它是否适合您-但是有标准的OpenVG。在软件OpenGL和OpenGL ES渲染器上有多个OpenVG端口。Mesa 3D似乎也具有OpenVG实施。但是对于某些平台,只有商业解决方案可用。
有一些方法可以集成用于矢量图形的API的高级库。其中有一个开源的名为Clutter的GUI设计,用于严肃的游戏设计中有scaleform(非开源)。该游戏引擎具有一些绘制矢量图形的功能:2DEngine
编辑:杂波显然使用开罗。
MonkVG是基于OpenGL ES 1.1和2.0的跨平台OpenVG仿真。参见:https : //github.com/micahpearlman/MonkVG
注意:我是该库的原始作者和维护者。它具有非常宽松的BSD许可证。
我最终不打扰,只使用高分辨率图像并使用OpenGL进行缩放。对于我的情况,它足够好用。