Static Wikipedia February 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Web Analytics
Cookie Policy Terms and Conditions Simple DirectMedia Layer - Wikipedia

Simple DirectMedia Layer

aus Wikipedia, der freien Enzyklopädie

Allgemeines Modell der Abstraktionsebenen der SDL unter Windows-Systemen
Allgemeines Modell der Abstraktionsebenen der SDL unter Windows-Systemen

Der Simple DirectMedia Layer (SDL) ist eine freie (LGPL) Multimedia-Bibliothek für verschiedene Plattformen.

Die Bibliothek stellt eine abstrakte API für Grafik-, Sound- und Eingabegeräte bereit. Somit steht dem Entwickler eine mächtige API zur Spiele- und Multimediaentwicklung zur Verfügung. Durch die Unterstützung vieler verschiedener Plattformen ist bei der Entwicklung eine hohe Portabilität gewährleistet.

Abstraktionsebenen der SDL auf verschiedenen Plattformen
Abstraktionsebenen der SDL auf verschiedenen Plattformen

SDL ist in C geschrieben und zeichnet sich besonders durch einen, im Vergleich zu anderen APIs aus diesem Bereich (z. B. DirectX), recht kompakten Code aus, was diese Bibliothek auch für Anfänger leicht zu erlernen macht. Es existieren viele C-Beispielprogramme, die zeigen, wie die Bibliothek verwendet wird. Für über 10 Sprachen existieren Anbindungen.

Was den Funktionsumfang betrifft muss man anmerken, dass der Simple DirectMedia Layer zwar nicht direkt Funktionen für 3D Grafik zur Verfügung stellt, was aber durch die Einbindungsmöglichkeiten von OpenGL ausgeglichen wird, wodurch es mit der SDL eben auch möglich ist 3D-Spiele wie Tux Racer zu programmieren.

Bezeichnend für den Beliebtheits- und Bekanntheitsgrad der SDL ist die Anzahl an Spielen und Programmen, welche mit ihr geschrieben wurde. Bemerkenswert ist auch, dass es bereits drei Bücher gibt, welche sich diese Bibliothek zum Hauptthema genommen haben.

Inhaltsverzeichnis

[Bearbeiten] 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 der OpenGL und OpenAL API) 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 wuchs der Bekanntheitsgrad von SDL schnell an, da nun sowohl proprietäre als auch freie Anwendungen mit Hilfe der SDL entwickelt werden konnten.

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

[Bearbeiten] 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: Events 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

[Bearbeiten] Unterstützte Plattformen

Offiziell unterstützte Plattformen:

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

Auf sonstige Art unterstützte Plattformen:

[Bearbeiten] Unterstützte Programmiersprachen

SDL selbst ist in C programmiert, Wrapper sind für folgende Programmiersprachen vorhanden:

[Bearbeiten] Siehe auch

[Bearbeiten] Literatur

  • Alberto García Serrano: Programación de videojuegos en SDL, Ediversitas, ISBN 8495836084, Gutes 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 Structions for Game Programmers, Muska & Lipman/Premier-Trade, ISBN 1931841942, Geht hauptsächlich zwar auf Datenstrukturen eines Spiels ein, beinhaltet aber 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 viele nützliche Informationen über die Programmierung in Linux im Allgemeinen und auch der Netzwerkprogrammierung.

[Bearbeiten] Weblinks

b:
Wikibooks
Wikibooks: SDL – Lern- und Lehrmaterialien
Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu