2009-03-22 6 views
32

Wie im Titel, brauche ich eine 2D-Grafik-Bibliothek, die Cross-Plattform ist, und bietet einfache Funktionen, wie in Basic; Im Wesentlichen muss ich nur ein Pixel eine bestimmte Farbe malen - ich brauche keine Hardwarebeschleunigung oder irgendeine Art von 3D-Unterstützung. Ich habe ein paar gefunden, aber sie sind nicht plattformübergreifend.Eine einfache, zweidimensionale plattformübergreifende Grafikbibliothek für C oder C++?

Wer kennt eine Lösung für mich?

+0

"Spam anlocken". Ich sehe ... – xoxox

+0

In welcher Weise unterscheidet sich diese Frage von http://stackoverflow.com/questions/1200727/cross-platform-drawing-library?rq=1? – xoxox

Antwort

30

Was SDL?

Vielleicht ist es ein bisschen zu komplex für Ihre Bedürfnisse, aber es ist sicherlich plattformübergreifend.

+0

SDL ist in der Tat mehr als Agasa braucht, aber es sollte einfach genug zu verwenden sein. –

+0

Es funktionierte mit minimalem Aufwand. Die Tatsache, dass sdl-config existiert und dass debian alle Sachen vorinstalliert hatte, half sehr. Ich stimme zu, es ist Overkill, aber es ist einfach genug für das, was ich brauche. Vielen Dank für alles! –

12

[In keiner bestimmten Reihenfolge.] Wenn Sie jedoch andere Anforderungen haben, lassen Sie uns wissen . BTW: Ich poste hier nicht nur Ergebnisse einer Google-Abfrage, ich habe alle diese verwendet (und SDL - schrieb meine ersten Spiele in SDL :) und ich würde sagen, ohne eine Reihe von Anforderungen, es ist sehr schwer zu wählen unter den aufgeführten.

+0

warum qt 4.2? die neueste version von qt ist auch gut ich rechne :) –

+0

Ich hatte die doc-links für 4.2 handy - so in der post erwähnt. – dirkgently

+0

Einverstanden, Qt (4.5) ist auch eine ausgezeichnete Wahl. –

3

Ich würde DISLIN empfehlen. Es ist plattformübergreifend, unterstützt viele Sprachen und verfügt über eine sehr intuitive Benennung von Routinen.

Auch habe gerade bemerkt, dass niemand PLPLOT erwähnt, auch Cross-Plattform, mehrsprachige ...

+2

Während DISLIN scheint ziemlich cool, es ist erwähnenswert, dass es $ 180 pro Entwickler für nicht-kommerzielle Nutzung kostet. – dagw

+1

@dagw - du meinst für kommerzielle Nutzung. Es ist kostenlos für nicht kommerzielle Nutzung. – Rook

6

Schwergewicht:

  • GTK
  • QT
  • WxWidgets

Leicht:

  • FLTK
  • Fox
  • Tk
  • Lua IUP
  • Ultimative ++
  • DLIB

Zeichnungsrahmen ohne GUI-Widgets:

  • SDL
  • Kairo
12

bin ich etwas fehlt zu fragen, warum niemand OpenGL schlägt? Es für 2d zu verwenden wäre sehr einfach. Das OP möchte nur ein Pixel färben. Es wird nicht einfacher als glBegin/glColor/glVertex/glEnd.

+9

OpenGL garantiert keine identische Pixelausgabe über Implementierungen hinweg. –

+0

@ user82238 das ist richtig, aber gibt es solche hardwarebeschleunigte API? http://stackoverflow.com/questions/7922526/open-l-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 (z. B. erlaubt beschleunigte Sprite-Rotation/Skalierung/Mischen/Z-Reihenfolge). –

+0

Und wenn er einfach RGB-Pixel macht, ohne ausgefallene Beleuchtung/etc, sehe ich keine Implementierung, die eine völlig andere Ausgabe ergibt, wenn überhaupt ein Unterschied. Aber, hehe, wenn ich jetzt 7,5 Jahre später darüber nachdenke, könnte er einfach auf einen In-Memory-Bildschirm "blit" und OpenGL/etc. einfach um das Ergebnis auf den Bildschirm zu werfen. –

3

Eine ordentliche Maschine, die ich stieß, ist Angel-Engine. Info von der Projektseite:

  • Cross-Platform-Funktionalität (Windows und Mac)
  • Schauspieler (Spielobjekte mit Farbe, Form, Antworten, Attribute, usw.)
  • Texturing mit Transparenz
  • "Animationen" (Textur Swapping in definierten Abständen)
  • Starrkörperphysik
    • Ein cleverer Programmierer kann damit
  • Ton weich Körperphysik tun
  • Text-Rendering mit mehreren Schriftarten
  • Particle Systems
  • Einige grundlegende AI (Zustandsmaschine und Wegfindung)
  • Config Dateiverarbeitung
  • Logging
  • Eingabe von einer Maus, Tastatur oder Xbox 360 Controller
    • Binding Eingänge aus einer Konfigurationsdatei
  • Python Scripting
    • In-Game-Konsole

Einige Benutzer (mich eingeschlossen) haben erfolgreich (ohne größere Probleme) unter Linux kompiliert.

-1

Eine Cross-Plattform-2D-Grafikbibliothek für .NET ist The Little Vector Library Sie es in Verbindung mit Unity 3D (empfohlen) oder Xamarin benutzt werden können, B. um 2D-Grafiken auf verschiedenen Plattformen zu erstellen.

+2

Dies scheint nur für .NET zu sein? Das OP fragte nach C/C++ und plattformübergreifend. –

+2

Danke, diese Antwort war sehr hilfreich für mich! – Thomas

Verwandte Themen