www.wikidata.de-de.nina.az
Simple DirectMedia Layer kurz SDL englisch fur einfache DirectMedia Schicht ist eine freie Multimedia Bibliothek fur verschiedene Betriebssysteme Sie steht ab der Version 2 0 unter der zlib Lizenz Alle alteren Versionen vor 2 0 stehen unter der GNU Lesser General Public License LGPL Simple DirectMedia LayerBasisdatenEntwickler Sam Lantinga und die SDL GemeindeErscheinungsjahr 1998Aktuelle Version 2 28 5 1 2 November 2023 Betriebssystem Linux macOS Windows Android iOSProgrammiersprache CKategorie ProgrammbibliothekLizenz zlib Lizenz Freie Software bevor SDL 2 0 0 LGPLdeutschsprachig jawww libsdl org Inhaltsverzeichnis 1 Konzept 2 Verbreitung 3 Entwicklungsgeschichte 3 1 Entstehung bei Loki Software 3 2 Weiterentwicklung durch die Community 3 3 SDL 2 0 4 Funktionalitat 5 Unterstutzte Plattformen 6 Beispielhafte Galerie SDL basierender Spiele 7 Siehe auch 8 Literatur 9 Weblinks 10 EinzelnachweiseKonzept BearbeitenDie Bibliothek stellt eine plattformunabhangige Schnittstelle API fur Grafik Sound und Eingabegerate bereit die sich hauptsachlich zur Entwicklung von Spielen und Multimediaanwendungen eignet Durch die Unterstutzung vieler verschiedener Plattformen kann fur eine Applikation eine hohe Portabilitat bzw Plattformunabhangigkeit gewahrleistet werden SDL kann mit dieser Eigenschaft auch als Middleware verstanden werden 2 nbsp Abstraktionsebenen mit SDL auf verschiedenen Plattformen ganz oben blaugefarbt sind die plattformubergreifenden Teile ganz unten braungefarbt die ausfuhrende Hardware dazwischen verschiedene Plattformen mit ihren daruberliegenden Schnittstellen und BibliothekenEs existieren offizielle und inoffizielle SDL Anbindungen fur dutzende Programmiersprachen die eine Integration in viele Projekte und Entwicklungskontexte moglich macht 3 4 Durch die Verwendung der liberalen zlib Lizenz ist eine lizenzrechtlich problemlose Verwendung der SDL Bibliotheken in binarer und Quelltext Form sowohl in Open Source GPL kompatibel 5 wie proprietaren Projekten kein Copyleft problemlos moglich SDL ist in C geschrieben und zeichnet sich besonders durch einen kompakten Code aus was diese Bibliothek auch fur Anfanger leicht erlernbar machen soll Durch die weite Verbreitung und die Nahe zur Open Source Bewegung existieren viele frei verfugbare Beispielprogramme fur verschiedene Anwendungsfalle die zeigen wie die Bibliothek verwendet werden kann Verbreitung BearbeitenBezeichnend fur die Beliebtheit und Bekanntheit von SDL ist die Anzahl an Spielen und Programmen die mit ihr geschrieben wurden z B listet die Spieledatenbank MobyGames 105 Spiele im Jahr 2012 2 auf der SDL Webseite selbst sind knapp 700 Spiele gelistet 6 Bekannte kommerzielle Beispiele sind Angry Birds 7 oder Unreal Tournament aus dem Open Source Bereich z B OpenTTD 8 The Battle for Wesnoth 9 OpenRA 10 oder Freeciv 11 Bei plattformubergreifenden Spieleveroffentlichungen wird haufig auf SDL als Abstraktionsbibliothek gesetzt da sich der Aufwand gegenuber Implementierungen mit den jeweiligen nativen Plattform APIs signifikant verringert Ein Beispiel sind die in den Humble Indie Bundles enthaltenen meist SDL basierenden Linux Mac und Android Versionen Weiter findet SDL haufig Verwendung fur spatere Portierungen auf neue Plattformen z B Homeworld fur das Pandora Handheld 12 oder Jagged Alliance 2 13 Auf SDL aufsetzende Nicht Spiele Anwendungen sind z B die Emulatoren DOSBox und VisualBoyAdvance Verwendung fand SDL auch an Universitaten und in der Lehre in Kursen zu Multimedia und Informatik nbsp Workshop zur Spielprogrammierung unter Verwendung der libSDL Universitat Cadiz Spanien Es wurden auch mehrere Bucher uber das Entwickeln mit den SDL Bibliotheken veroffentlicht siehe den Literaturabschnitt unten Entwicklungsgeschichte BearbeitenEntstehung bei Loki Software Bearbeiten SDL wurde von Sam Lantinga wahrend 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 fur einige kommerzielle Spieletitel fur 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 proprietare als auch freie Software entwickelt werden konnte Weiterentwicklung durch die Community Bearbeiten 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 Ryan C Gordon ein weiterer Ex Loki Mitarbeiter arbeitet ebenfalls weiter an und mit SDL z B fur die Linux und Mac Versionen von Spielen im Humble Indie Bundle 14 nbsp Ryan Icculus Gordon bekannter Verwender und Entwickler von SDL z B im Rahmen des Humble Indie Bundles 15 Inzwischen gibt es eine grosse Community und weitere freiwillige Helfer die sich an der Weiterentwicklung beteiligen Fur uber zwanzig Programmiersprachen existieren SDL 1 2 Anbindungen anderer Hersteller 3 SDL 2 0 Bearbeiten Die Weiterentwicklung der Version 1 2 war als Version 1 3 geplant und wurde im August 2013 als Version 2 0 veroffentlicht 16 Zusatzliche Fahigkeiten im Vergleich zur Vorversion sind Unterstutzung fur den Betrieb an mehreren Monitoren durch Hardware beschleunigte zweidimensionale Grafik sowie bessere Unterstutzung von Unicode 17 Weiterhin sollte Unterstutzung von Multitouch und haptischen Eingabegeraten z B mit Force Feedback Einzug halten 18 Im Gegensatz zu fruheren Versionen nutzt SDL 2 0 die zlib Lizenz 19 Durch diese soll es moglich sein proprietare Produkte Closed Source zu entwickeln welche die SDL dann auch statisch binden linken durfen Snapshots ab Februar 2012 andern die Versionsnummer von 1 3 auf 2 0 Die erste stabile Version von SDL 2 0 wurde am 13 August 2013 veroffentlicht 20 Die aktuelle stabile Version SDL 2 0 12 wurde am 11 Marz 2020 veroffentlicht 21 Anbindungen an SDL 2 0 existieren Mitte 2014 fur C C und drei weitere Programmiersprachen 4 Funktionalitat BearbeitenDie SDL Bibliothek enthalt vor allem fur Multimedia Anwendungen notwendige Funktionalitaten fur die eine weitverbreitete plattformunabhangige und gleichzeitige performante API nicht existiert Videoausgabe Videomodus setzen Zugriff auf den Framebuffer Nutzung der Hardwarebeschleunigung fur Grafikoperationen optional uber EGL Ereignis Behandlung Ereignisse fur Tastatur Maus Programmende und Sichtbarkeit des Programms Audioausgabe In 8 und 16 bit mono stereo Audio CDs Vollstandige Audio CD API nicht mehr in SDL 2 0 Threads Thread API Semaphore Mutex Objekte und Condition Variablen zur Synchronisation Zeitgeber Periodisch Wartezeit abgelaufene Zeit abfragen Konvertierung der Byte Reihenfolge Big Endian Little EndianDer Simple DirectMedia Layer stellt selbst keine Funktionen fur 3D Grafik zur Verfugung weil mit OpenGL bereits eine weitverbreitete plattformunabhangige 3D API zur Verfugung steht SDL wurde von Beginn an fur das Zusammenspiel mit OpenGL entworfen und soll spezifisch die Multimediaaspekte abdecken die ausserhalb der OpenGL Funktionalitat liegen Deshalb erganzen sich beide Bibliotheken optimal und auch 3D Spiele wie z B Tux Racer sind problemlos moglich Weitere Einsatzmoglichkeiten wie Internet Socket Abstraktion oder Schriftzugriff werden bewusst nicht offiziell in SDL aufgenommen jedoch als Erweiterungen von anderen Anbietern auf der LibSDL Homepage angeboten 22 Unterstutzte Plattformen Bearbeiten nbsp Beispiel fur die Einbindung von SDL in eine Plattform hier ein Linux System SDL bietet z B einem Computerspiel Zugriff auf Sound und Eingabehardware uber eigene Sound und Input APIs Offiziell unterstutzte Plattformen 23 Android seit SDL 2 0 24 Linux macOS Windows Win32 und Win64 Unterstutzung im SDL Code enthalten aber nicht offiziell unterstutzt AmigaOS AROS Atari BeOS BSD Derivate FreeBSD OpenBSD NetBSD Unix AIX Solaris IRIX Tru64 UNIX QNX Dreamcast Microsoft Windows CE MorphOS Nintendo DS seit SDL 1 2 12 25 Pandora seit SDL 2 0 Symbian OS seit SDL 1 2 12 25 SDL lauft auf samtlichen unixoiden Plattformen sofern diese den POSIX Standard unterstutzen Auf sonstige Art unterstutzte Plattformen DOS FreeDOS und Ahnliche Windows Versionen laufen mit Hilfe von HX DOS Extender Dingoo A320 GP2X Haiku SkyOS 26 XboxBeispielhafte Galerie SDL basierender Spiele Bearbeiten nbsp Unknown Horizons nbsp 0 A D nbsp Hedgewars nbsp Frets on Fire nbsp OpenTTD 8 nbsp The Battle for Wesnoth 9 nbsp Secret Maryo Chronicles nbsp Oolite 27 nbsp TrineSiehe auch BearbeitenAllegro Programmbibliothek ClanLib Simple and Fast Multimedia Library SFML Literatur BearbeitenAlberto Garcia Serrano Programacion de videojuegos en SDL Ediversitas ISBN 84 95836 08 4 Buch uber die Verwendung der SDL in der Videospiele Entwicklung spanisch Ernest Pazera Focus On SDL Muska amp Lipman Premier Trade ISBN 1 59200 030 4 weiteres Buch zur SDL welches sich ebenfalls mit weiteren Bibliotheken fur den Simple DirectMedia Layer wie beispielsweise SDL net befasst Ron Penton Data Structures for Game Programmers Muska amp Lipman Premier Trade ISBN 1 931841 94 2 geht hauptsachlich zwar auf Datenstrukturen eines Spiels ein enthalt aber auch Beispiele mit der SDL John R Hall Programming Linux Games No Starch ISBN 1 886411 49 2 Erstes Buch welches sich mit der SDL befasst Enthalt auch Informationen uber die Programmierung in Linux im Allgemeinen und der Netzwerkprogrammierung Onlineversion overcode net Memento vom 22 Januar 2003 im Internet Archive PDF LaTeX Sourcen Memento vom 14 Februar 2003 im Internet Archive Weblinks Bearbeiten nbsp Commons Simple DirectMedia Layer Sammlung von Bildern Videos und Audiodateien nbsp Wikibooks SDL Lern und Lehrmaterialien Offizielle internationale SDL Website Offizielle deutsche SDL Website Simple DirectMedia Layer bei MobyGames englisch Technische InformationSDL Documentation Wiki englisch Deutsche Ubersetzung der SDL FunktionenEinzelnachweise Bearbeiten Release 2 28 5 2 November 2023 abgerufen am 12 November 2023 a b Middleware SDL Group Description MobyGames 18 Mai 2012 abgerufen am 18 Mai 2012 englisch Games that use the very portable Simple DirectMedia Layer a b SDL Language Bindings Nicht mehr online verfugbar Archiviert vom Original am 16 Januar 2013 abgerufen am 12 Juli 2009 englisch a b SDL Language Bindings Nicht mehr online verfugbar Archiviert vom Original am 21 August 2013 abgerufen am 25 Oktober 2013 englisch Kommentar zur zlib Lizenz bei der FSF englisch Games libsdl org 18 Mai 2012 archiviert vom Original am 29 Juni 2010 abgerufen am 18 Mai 2012 englisch SDL Testimonials Galaxygameworks com archiviert vom Original am 16 Juli 2011 abgerufen am 1 Februar 2012 a b Compiling OpenTTD GitHub 2022 abgerufen am 7 Februar 2022 a b Building Wesnoth from Source GitHub 2022 abgerufen am 7 Februar 2022 Compiling OpenRA GitHub 2022 abgerufen am 7 Februar 2022 SDLClient Freeciv Fandom com abgerufen am 7 Februar 2022 may88 Game of the Week 3 Homeworld SDL pandorapress net 23 Juni 2011 archiviert vom Original am 30 August 2011 abgerufen am 8 Mai 2012 englisch released port of HomeworldSDL Forum member Edglex enables your Pandora to experience the excellent work done by the guys at HomeworldSDL JA2 Stracciatella Compilation GitHub 2022 abgerufen am 7 Februar 2022 Ben Kuchera The latest Humble Bundle offers amazing games promotes multiplatform releases In ars technica 14 Dezember 2011 abgerufen am 18 Februar 2012 englisch Some developers are ready for it from day one but usually a game is Windows only and needs to get ported to Mac and Linux Ryan Gordon and Edward Rudd have been instrumental in this but a lot of developers will do ports internally as well Ben Kuchera The latest Humble Bundle offers amazing games promotes multiplatform releases In ars technica Abgerufen am 6 Mai 2012 englisch pro linux de SDL A Quick Introduction to SDL 1 3 Memento vom 24 Juni 2012 im Internet Archive Arnin Ronacher A Gentle Introduction into SDL 1 3 6 April 2011 archiviert vom Original am 4 Januar 2012 abgerufen am 30 Mai 2012 englisch SDL 1 3 licensing terms Sam Lantinga 7 April 2011 abgerufen am 21 August 2011 englisch SDL 2 0 0 Released 13 August 2013 abgerufen am 25 Oktober 2013 englisch Index of release Abgerufen am 15 Mai 2020 englisch The Simple Directmedia Layer documentation Memento vom 15 April 2013 im Internet Archive Ryan C Gordon README Platforms libsdl org 9 April 2012 archiviert vom Original am 20 Januar 2012 abgerufen am 7 Mai 2012 englisch This is a list of the platforms SDL supports and who maintains them SDL for Android in 10 drunken steps J D William am 27 Juli 2011 englisch a b SDL Release Notes 21 Januar 2012 abgerufen am 29 Juni 2012 englisch libsdl org website about section 8 Februar 2006 abgerufen am 29 Juni 2012 Oolite Abgerufen am 19 Marz 2010 Abgerufen von https de wikipedia org w index php title Simple DirectMedia Layer amp oldid 237917989