Je fais un jeu et je veux utiliser des graphiques vectoriels. J'ai commencé à le recoder en utilisant Cairo et la performance est horrible. Je cherche donc une bibliothèque différente. Il doit être pour C ++ et multiplateforme (par exemple pas de Direct2D). Il y a une autre question que quelqu'un a posée avant comme ça, mais il n'y avait pas de réponses appropriées. Il doit y avoir quelque chose ...?
9
Réponses:
Je crains que le sujet soit assez délicat, peu de solutions multi-plateformes semblent avoir été lancées et encore moins semblent avoir survécu par elles-mêmes. Je me suis penché sur le sujet il y a quelques mois. J'avais une contrainte car j'avais besoin que le moteur fonctionne sur iOS et Android. Je n'ai rien trouvé qui me convenait vraiment à l'époque.
Mais quelques indications de ce dont je me souviens: chaque système GUI a une certaine forme d'API de dessin. Donc, vous pourriez trouver quelque chose d'intéressant parmi ceux qui sont multiplates-formes comme QT .
Un équivalent du Caire serait AntiGrain. Vous voudrez peut-être comparer les performances.
OpenFrameworks prend en charge les graphiques vectoriels.
Une très grande bibliothèque qui prend en charge certains graphiques vectoriels - et un langage qui lui est dédié - est ImageMagick .
Au niveau inférieur, vous trouverez Libxmi et Libart du projet gnome.
Pas une API de haut niveau - et je ne sais pas quelles sont les chances qu'elle vous convienne - mais il y a l' OpenVG standard . Il existe plusieurs ports d'OpenVG sur les moteurs de rendu OpenGL et OpenGL ES. Mesa 3D semble également avoir une implémentation OpenVG. Mais pour certaines plateformes, seules des solutions commerciales seront disponibles.
Il existe des bibliothèques de niveau supérieur qui intègrent des API pour les graphiques vectoriels. Parmi ceux-ci, il y a un open source nommé Clutter pour la conception d'interface graphique et utilisé dans la conception de jeux sérieux, il y a une forme d' échelle (pas Open Source). Ce moteur de jeu a quelques fonctions pour dessiner des graphiques vectoriels: 2DEngine
EDIT : l'encombrement utilise apparemment le caire.
la source
MonkVG est une émulation OpenVG multiplateforme au-dessus d'OpenGL ES 1.1 et 2.0. Voir: https://github.com/micahpearlman/MonkVG
Remarque: je suis l'auteur et le mainteneur d'origine de cette bibliothèque. Il a une licence BSD très libérale.
la source
J'ai fini par ne pas déranger et juste aller avec des images haute résolution et redimensionner avec OpenGL. Cela fonctionne assez bien pour ma situation.
la source