Simple DirectMedia Layer

Simple DirectMedia Layer
Simple DirectMedia Layer
Logo von SDL
Entwickler Sam Lantinga und die SDL-Gemeinde
Aktuelle Version 1.2.14
(20. Oktober 2009)
Aktuelle Vorabversion 1.3
(8. Januar 2009)
Betriebssystem Linux, Mac OS, Windows
Kategorie Programmbibliothek
Lizenz LGPL (Freie Software), ab SDL 1.3 zlib-Lizenz
Deutschsprachig ja
libsdl.de
Allgemeines Modell der Abstraktionsebenen der SDL unter Windows-Systemen

Der Simple DirectMedia Layer (SDL) ist eine freie Multimedia-Bibliothek für verschiedene Plattformen. Sie steht unter der GNU Lesser General Public License (LGPL).

Die Bibliothek stellt eine abstrakte Schnittstelle (API) für Grafik-, Sound- und Eingabegeräte bereit, die sich hauptsächlich zur Entwicklung von Spielen und Multimediaanwendungen eignet. Durch die Unterstützung vieler verschiedener Plattformen soll bei der Entwicklung eine hohe Portabilität gewährleistet werden; dies unterscheidet sie beispielsweise von DirectX.

Abstraktionsebenen der SDL auf verschiedenen Plattformen

SDL ist in C geschrieben und zeichnet sich besonders durch einen kompakten Code aus, was diese Bibliothek auch für Anfänger leichter zu erlernen machen soll. Es existieren viele C-Beispielprogramme, die zeigen, wie die Bibliothek verwendet wird. Für über zwanzig Programmiersprachen existieren Anbindungen anderer Hersteller.[1]

Bezeichnend für die Beliebtheit und Bekanntheit der SDL ist die Anzahl an Spielen und Programmen, die mit ihr geschrieben wurden, bekannte Beispiele sind: OpenTTD[2], The Battle for Wesnoth[3] oder Freeciv[4]. Es wurden mehrere Bücher über das Entwickeln mit den SDL Bibliotheken veröffentlicht, auch wird SDL in Universitäten in Kursen zu Multimedia und Informatik verwendet.

Workshop zur Spielprogrammierung unter Verwendung der libSDL, Universität Cádiz (Spanien)

Inhaltsverzeichnis

Entstehung

SDL wurde von Sam Lantinga während seiner Zeit als leitender Programmierer (1999 bis 2001) bei Loki Software entwickelt. Der Simple DirectMedia-Layer bildet (oft auch im Zusammenhang mit den OpenGL- und OpenAL-Schnittstellen) die Grundlage für einige kommerzielle Spieletitel für Linux, die von Loki portiert wurden, wie z. B. Civilization: Call to Power, Descent³ oder auch Sid Meier’s Alpha Centauri.

Schon damals wurde SDL unter die LGPL gestellt. Durch diesen Schritt wurde SDL schnell bekannt, da damit nun sowohl proprietäre als auch freie Anwendungen entwickelt werden konnten.

Obwohl Sam Lantinga im Jahr 2001 von Loki Software zu Blizzard Entertainment wechselte, verwaltet er die Entwicklung von SDL noch immer und ist nach wie vor einer der aktivsten SDL-Entwickler. Inzwischen gibt es noch eine Reihe weiterer freiwilliger Helfer, die sich an der Entwicklung beteiligen.

SDL 1.3

Aktuell befindet sich Version 1.3 der Bibliothek in der Entwicklung und wird einige Neuerungen mit sich bringen. Zusätzliche Fähigkeiten im Vergleich zur Vorversion sind Unterstützung für den Betrieb an mehreren Monitoren, durch Hardware beschleunigte zweidimensionale Grafik sowie bessere Unterstützung von Unicode.[5]

Im Gegensatz zu früheren Versionen nutzt SDL 1.3 die zlib-Lizenz.[6] Durch diese soll es möglich sein, kommerzielle Produkte mit nichtöffentlichem Quelltext (Closed Source) zu entwickeln, welche die SDL statisch bindet.

Funktionalität

Die SDL-Bibliothek enthält folgende Funktionalität:

Videoausgabe
Videomodus setzen, Zugriff auf den Framebuffer, Nutzung der Hardwarebeschleunigung für Grafikoperationen
Ereignis-Behandlung
Ereignisse für Tastatur, Maus, Programmende und Sichtbarkeit des Programms
Audioausgabe
In 8 und 16 bit, mono/stereo
Audio-CDs
Vollständige Audio-CD-API
Threads
Thread-API, Semaphore, Mutex-Objekte und Condition-Variablen zur Synchronisation
Zeitgeber
Periodisch, Wartezeit, abgelaufene Zeit abfragen
Konvertierung der Byte-Reihenfolge
Big Endian/Little Endian

Der Simple DirectMedia Layer stellt selbst keine Funktionen für 3D-Grafik zur Verfügung. Allerdings ist es möglich, OpenGL zusammen mit SDL zu nutzen. Dadurch ist es möglich, auch 3D-Spiele wie z. B. Tux Racer auf Basis von SDL zu entwickeln.

Weitere Einsatzmöglichkeiten wie Internet-Socket-Abstraktion oder Schriftzugriff werden bewusst nicht offiziell in SDL aufgenommen, jedoch als Erweiterungen von anderen Anbietern auf der LibSDL-Homepage angeboten.[7]

Unterstützte Plattformen

Offiziell unterstützte Plattformen:

Unterstützung im SDL-Code enthalten, aber noch nicht offiziell:

SDL läuft auf sämtlichen unixoiden Plattformen, sofern diese den POSIX-Standard unterstützen.

Auf sonstige Art unterstützte Plattformen:

Beispielhafte Galerie SDL-basierender Spiele

Siehe auch

Literatur

  • Alberto García Serrano: Programación de videojuegos en SDL, Ediversitas, ISBN 8495836084, Buch über die Verwendung der SDL in der Videospiele-Entwicklung in Spanisch.
  • Ernest Pazera: Focus On SDL, Muska & Lipman/Premier-Trade, ISBN 1592000304, Weiteres Buch zur SDL, welches sich ebenfalls mit weiteren Bibliotheken für den Simple DirectMedia Layer, wie beispielsweise SDL_net, befasst.
  • Ron Penton: Data Structures for Game Programmers, Muska & Lipman/Premier-Trade, ISBN 1931841942, Geht hauptsächlich zwar auf Datenstrukturen eines Spiels ein, beinhaltet aber auch Beispiele mit der SDL.
  • John R. Hall: Programming Linux Games, No Starch, ISBN 1886411492, Erstes Buch, welches sich mit der SDL befasst. Enthält auch Informationen über die Programmierung in Linux im Allgemeinen und der Netzwerkprogrammierung, Onlineversion: PDF, LaTex-Sourcen.

Weblinks

Wikibooks Wikibooks: SDL – Lern- und Lehrmaterialien

Einzelnachweise

  1. http://www.libsdl.org/languages.php
  2. a b Development. OpenTTD. Abgerufen am 19. März 2010.
  3. a b CompilingWesnoth. Wesnoth (27. Februar 2010). Abgerufen am 19. März 2010.
  4. a b SDLClient - Freeciv.org. Freeciv.wikia.com. Abgerufen am 19. März 2010.
  5. SDL: A Quick Introduction to SDL 1.3 (englisch). The Grumpy Programmer (29. Juni 2009). Abgerufen am 7. Februar 2010.
  6. SDL 1.3 licensing terms (englisch). Sam Lantinga (7. April 2011). Abgerufen am 21. August 2011.
  7. http://www.libsdl.org/cgi/docwiki.cgi/FrontPage?action=show&redirect=StartSeite
  8. Oolite. Oolite.org. Abgerufen am 19. März 2010.

Wikimedia Foundation.

Игры ⚽ Поможем решить контрольную работу

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Simple Directmedia Layer — Entwickler: Sam Lantinga und die SDL Gemeinde Aktuelle Version: 1.2.13 (31.12.2007) Aktuelle Vora …   Deutsch Wikipedia

  • Simple DirectMedia Layer — SDL logo Original author(s) Sam Lantinga Developer(s) Sam Lantinga Stabl …   Wikipedia

  • Simple DirectMedia Layer — SDL Тип API Разработчик Сэм Лантинга Написана на …   Википедия

  • Simple DirectMedia Layer — Para otros usos de este término, véase SDL. Simple DirectMedia Layer Desarrollador Sam Lantinga libsdl.org Información general …   Wikipedia Español

  • Simple DirectMedia Layer — SDL Développeur Sam Lantinga Dernière version …   Wikipédia en Français

  • Simple and Fast Multimedia Library — Тип API Написана на C++ ОС Cross platform Версия 1.5 (7 июня, 2009) …   Википедия

  • Simple Network Library — Para otros usos de este término, véase SNL (desambiguación). Simple network library Desarrollador Jesús Hernández Gormaz (autor inicial) …   Wikipedia Español

  • Libsdl — Simple DirectMedia Layer SDL Développeur Sam Lantinga Dernière version …   Wikipédia en Français

  • SDL — Simple Directmedia Layer (Computing » Networking) ** Specification and Description Language (Computing » General) * Self Directed Learning (Community » Educational) * Simple Direct Layer (Academic & Science » Chemistry) * SmartDraw library… …   Abbreviations dictionary

  • SDL — Simple DirectMedia Layer  кроссплатформенная библиотека для работы с мультимедиа SDL International  компания‐разработчик средств для локализации ПО. Simple Declarative Language. Specification and Description Language. Microsoft Security …   Википедия

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”