那里有一个很好的跨平台C ++矢量图形库吗?[关闭]


9

我正在制作游戏,想使用矢量图形。我开始使用开罗对其进行重新编码,性能令人震惊。因此,我正在寻找其他图书馆。它需要用于C ++和跨平台(例如,没有Direct2D)。有人曾经这样问过另一个问题,但是没有任何合适的答案。一定有东西...?


“之前询问的问题”,您是说gamedev.stackexchange.com/questions/4788/…吗?
四分

@Tetrad:上一个问题隐式排除了多平台,因为它明确要求Windows解决方案。答案似乎只指向Windows相关的解决方案。
郊狼

2
@Zach Hinchy:当您说跨平台时,您的意思是什么?Windows,Linux,OS X?还是您包括iOS,Brew,Android手持平台?
郊狼

2
“一定有……吗?” 为什么?通常,矢量图形并不是需要30fps以上的人所需要的。您的网络浏览器是否以30fps的速度加载页面?不,10fps就足够了。如果使用矢量图形,那是因为您重视质量而不是性能。因此,矢量图形库重视质量而不是性能。开罗本身并不慢,但是它是高质量的矢量图形渲染器。而且这种品质意味着它不会为性能而偷工减料。
Nicol Bolas's

1
@iamcreasy:简单地绘制一个更大或更小的四边形与矢量图形库之间有很大的区别。游戏使用GPU渲染;他们不使用矢量图形库。他们不使用开罗或反谷物或任何此类性质。
Nicol Bolas

Answers:


21

我担心这个主题很棘手,似乎很少启动多平台解决方案,而且似乎很少能独立生存。几个月前,我正在研究这个主题。我有一个约束,因为我需要引擎在iOS和Android上运行。当时没有找到真正适合我的东西。

但是我记得以下几点:每个GUI系统都有某种形式的绘图API。因此,您可能会在跨平台的QT之类的东西中找到一些有趣的东西。

相当于cairo的是AntiGrain,您可能需要比较性能。

OpenFrameworks支持矢量图形。

ImageMagick是一个非常大的库,具有一些矢量图形支持-以及专用于它的语言。

在较低的级别,您将从gnome项目中找到LibxmiLibart

这不是一个高水平的API-我不确定它是否适合您-但是有标准的OpenVG。在软件OpenGL和OpenGL ES渲染器上有多个OpenVG端口。Mesa 3D似乎也具有OpenVG实施。但是对于某些平台,只有商业解决方案可用。

有一些方法可以集成用于矢量图形的API的高级库。其中有一个开源的名为Clutter的GUI设计,用于严肃的游戏设计中有scaleform(非开源)。该游戏引擎具有一些绘制矢量图形的功能:2DEngine


编辑:杂波显然使用开罗。


3

MonkVG是基于OpenGL ES 1.1和2.0的跨平台OpenVG仿真。参见:https : //github.com/micahpearlman/MonkVG

注意:我是该库的原始作者和维护者。它具有非常宽松的BSD许可证。


这对这个问题做出了很好的贡献,但是在推广与之相关的事物时(例如您自己的github帐户),应该适当注意一下。
塞斯·巴丁

-1

我最终不打扰,只使用高分辨率图像并使用OpenGL进行缩放。对于我的情况,它足够好用。


4
您询问了一个图书馆,但接受了一个说它的答案,只是选择另一种方式(忽略它的答案)。这不是一个很好的判断。(也忽略了@Coyoto可能需要15分钟才能写出答案的事实)。祝你今天愉快!
Quazi Irfan

1
这已经晚了3年,但是最近又提交了另一个答案,我得到了通知,所以我终于看到了。我继续前进,接受了我的不接受,并接受了@Coyote的。对此我感到很抱歉,那时我还不太了解StackOverflow。我希望迟到总比没有好-希望它将帮助将来看到这个问题的人们。
Zach Hinchy 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.