SDL

Die bzw. korrekterweise der SDL (Simple DirectMedia Layer) ist eine freie Grafik und Multimedia Bibliothek die unter der LGPL lizenziert ist, und somit in Opensource Programmen genauso wie auch in kommerziellen Programmen verwendet werden kann. Sie stellt eine plattformunabhängige API für (2D-) Grafik, Sound und Eingabe zur Verfügung und wird deshalb auch hauptsächlich für Spiele eingesetzt. Auch wenn die SDL eigentlich nur 2D-Grafik rendern kann stellt sie eine einfache Schnittstelle zur Verfügung mit der man einen OpenGL-Kontext erstellen kann und somit auch performante Echtzeit 3D-Grafiken erzeugen kann. Aus diesem Grund wird die SDL auch oft als Ersatz für GLUT und ähnliches verwendet um eine plattformunabhängige Initialisierung von OpenGL zu ermöglichen und die Eingabegeräte abzufragen.

Die SDL ist in C geschrieben, es existieren aber auch Anbindungen an andere Sprachen mit denen wir uns hier aber nicht beschäftigen werden. Zusätzlich gibt es auch noch ein paar Erweiterungen, mit denen auch zum Beispiel die Netzwerkprogrammierung oder auch das Laden und Anzeigen von TrueType-Schriftarten ermöglicht wird.

Über SDL

  • Lizenz: LGPL
  • Programmiersprachen: C, C++, Bindings für C#, Java, Lua, Python, Ruby u.a.
  • Plattformen: Linux/Unix, Windows und MacOS sowie verschiedene andere (mobile) Plattformen
  • Aktuelle Version (stable): 1.2.15 (20. Jänner 2012)
  • Aktuelle Vorabversion: 2.0 (3. Februar 2012)

Einführung & Anwendungsbeispiele

Schritt für Schritt einfache Spiele programmieren

Subsysteme

  • Allgemein - Allgemeine Funktionen
  • Video - Videoausgabe (2D Operationen - OpenGL für 3D Operationen initialisieren)
  • Fensterverwaltung - Zusammenspiel mit dem Windowmanager (Icon, Titel, Vollbild, …)
  • Events - Events und Tastatur- bzw. Mauseingabe
  • Timer - Zeitmessung und Schlafenlegen von Prozessen
  • Maus - Mauscursor und Position verändern
  • Joystick - Eingabe mit einem Joystick, Gamepad etc.
  • Audio - Einfache Soundausgabe
  • Multithreading - Verwenden mehrerer Threads
  • Dateien - Dateien lesen und schreiben
  • CD-Rom - Mit CD-Laufwerken arbeiten und Audio-CDs abspielen

Weitere Bibliotheken

Funktionsindex