2009-03-22 8 views
32

Comme dans le titre, j'ai besoin d'une bibliothèque graphique 2d qui est multi-plateforme, et fournit des fonctions simples, comme en Basic; Pour l'essentiel, je n'ai besoin de peindre un pixel qu'avec une certaine couleur. Je n'ai pas besoin d'accélération matérielle ou de support en 3D. J'ai trouvé quelques uns, mais ils ne sont pas multi-plateforme.Une bibliothèque graphique simple et multi-plateforme 2d pour c ou C++?

Quelqu'un connaît une solution pour moi?

+0

"Attirer le spam". Je vois ... – xoxox

+0

En quoi cette question est-elle différente de http://stackoverflow.com/questions/1200727/cross-platform-drawing-library?rq=1? – xoxox

Répondre

30

Qu'en est-SDL?

Peut-être que c'est un peu trop complexe pour vos besoins, mais c'est certainement multi-plateforme.

+0

SDL est en effet plus que les besoins Agasa, mais il devrait être assez simple à utiliser. –

+0

Il a travaillé avec un minimum d'effort. Le fait que sdl-config existe et que Debian ait tout préinstallé a beaucoup aidé. Je suis d'accord c'est exagéré mais c'est assez simple pour ce dont j'ai besoin. Merci beaucoup pour tout! –

12

[Sans ordre particulier.] Toutefois, si vous avez d'autres exigences, faites-nous savoir . BTW: Je ne suis pas juste poster les résultats d'une requête Google ici, j'ai utilisé tous ceux-ci (et SDL - a écrit mes premiers jeux en SDL :) et je dirais sans un ensemble d'exigences, il est très difficile de choisir parmi ceux énumérés.

+0

pourquoi qt 4.2? la dernière version de qt est également bon je pense :) –

+0

J'ai eu les liens de doc pour 4.2 à portée de main - ainsi l'a mentionné dans la poste. – dirkgently

+0

D'accord, Qt (4.5) est également un excellent choix. –

3

Je recommanderais DISLIN. Il est multi-plateforme, supporte de nombreuses langues, et a un nom très intuitif des routines.

Aussi, juste remarqué que personne n'a mentionné PLPLOT, également multi-plateforme, multi lingue ...

+2

Alors que DISLIN semble plutôt cool, il vaut la peine de noter qu'il en coûte 180 $ pour un développement non commercial. – dagw

+1

@dagw - vous voulez dire pour un usage commercial. C'est gratuit pour un usage non commercial. – Rook

6

lourd poids:

  • GTK
  • QT
  • WxWidgets

léger:

  • FLTK
  • Fox
  • Tk
  • Lua IUP
  • ultime ++
  • Dlib

Les cadres de dessin sans widgets GUI:

  • SDL
  • Le Caire
12

Est-ce que je manque quelque chose à se demander pourquoi Noone suggère OpenGL? L'utiliser pour 2d serait très simple. L'OP ne veut colorer qu'un pixel. Il n'est pas plus simple que glBegin/glColor/glVertex/glEnd.

+9

OpenGL ne garantit pas une sortie de pixel identique entre les implémentations. –

+0

@ user82238 est correct, mais une telle API accélérée matériellement existe-t-elle? http://stackoverflow.com/questions/7922526/opengl-deterministic-rendering-between-gpu-vendor | http://stackoverflow.com/questions/3919307/is-there-a-2d-graphics-api-with-both-pixel-perfect-drawing-and-2d-hardware-accel (par exemple, autoriser une rotation/mise à l'échelle accélérée des sprites/mélange/z-ordre). –

+0

Et s'il fait simplement des pixels RVB, sans éclairage fantaisie/etc., Je ne vois pas une implémentation qui donnerait une sortie radicalement différente, voire aucune différence. Mais, diable, en y pensant maintenant 7.5 ans plus tard, il pourrait juste "blitrer" à un "écran" en mémoire, et utiliser OpenGL/etc. simplement pour lancer le résultat sur l'écran. –

3

Un moteur propre que j'ai rencontré est Angel-Engine. Infos sur le site du projet:

  • fonctionnalité multi-plateforme (Windows et Mac)
  • acteurs (objets de jeu avec la couleur, la forme, les réponses, les attributs, etc. )
  • Texturing avec transparence
  • "Animations" (de swapping texture à des intervalles définis)
  • physique rigide-corps
    • Un programmeur intelligent peut faire de la physique-corps mou avec elle
  • son
  • Rendu de texte avec plusieurs polices
  • Systèmes de particules
  • Certains (machine d'état et pathfinding) AI base
  • Config File Processing
  • Enregistrement
  • entrée d'une souris, un clavier ou un contrôleur Xbox 360
    • entrées de liaison à partir d'un fichier de configuration
  • Python Scripting
    • In-Game Console

Certains utilisateurs (moi y compris) ont avec succès (sans aucun problème majeur) compilé sous linux.

-1

Une bibliothèque graphique 2D multi-plateforme pour .Net est The Little Vector Library Vous pouvez l'utiliser en conjonction avec Unity 3D (recommandé) ou Xamarin, pour exemple, pour créer des graphiques 2D sur une variété de plates-formes.

+2

Cela semble être seulement pour. NET? Le PO a demandé C/C++ et multiplateforme. –

+2

Merci, cette réponse a été très utile pour moi! – Thomas

Questions connexes