da ich mich gerne jetzt mehr mit moderner (portabler) 2D/3D OpenGL (3.0+) Spiele-/Grafikprogrammierung beschäftigen möchte, suche ich nach einer guten Zusammenstellung von Bibliotheken, die einem dies ermöglichen.
Mal anders gesprochen: Das proprietäre DirectX von M$ (Direct3D, DirectInput/XInput, XAudio, XNAMath, etc.) nimmt einem da ja schon ziemlich viel ab, wenn es um Grafik, Sound, Eingabe, Mathe, usw. geht. Dies möchte ich auch für mehrere Plattformen haben. Ich weiss es gibt da SDL (2.0 Release lässt leider auf sich warten), SFML, Allegro, ... aber ich hätte gerne an sich eher eine gute Kombination von separaten, gut durchdachten, optimierten und recht aktuellen Subsystemen. Hier mal ein paar Aufzählungen (wird ständig erweitert):
- Fenster-/Kontexterstellung: SDL 2.0 *, GLFW
- Core-Profile/Extension-Loader: gl3w, glew
- Debugger/Analyzer: gDebugger, GPU PerfStudio 2
- Eingabe (Maus/Tastatur/Joystick): SDL 2.0 *, OIS
- Audio: OpenAL Soft, fmod, irrKlang
- Netzwerk: enet, POCO, RakNet (frei für Indy-Entwickler)
- Mathe: glm
- Physik: Bullet, Box2D, ODE, Newton Game Dynamics
- Ressourcen-Loader: Assimp (3D-Modelle), DevIL (Bilder), FreeImage (Bilder), SOIL (Bilder), Squish (DXT komprimierte Daten)
- Scripting-Languages: LUA, Squirrel, Angelscript
- Datenhaltung: TinyXML-2
- Betriebssystemfunktionen/Hilfsbibliotheken: boost
- und andere Kategorien, die mir jetzt auf Anhieb nicht einfallen
Wobei die SDL und das GLFW hier wieder mehr Ballast mit sich führen (was schlankeres wäre vielleicht wünschenswerter). Gut, Fenstermanagement und Tastatur-/Maus-Eingabe korrelieren meist, wegen der OS-Event-Queue. Das lässt sich schwer trennen.
Lasst uns einfach mal ein kleines Brainstorming machen. Kritik ist auch erwünscht (Subsysteme oder vollfunktionsfähige Multimedia-Bibliotheken).
Ich werde dann höchstwahrscheinlich die Liste oben aktualisieren, damit auch andere was davon haben.