Strat DirectMedia simplu

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
Strat DirectMedia simplu
software
Siglă
Tip Bibliotecă software (nu este listată )
Dezvoltator Sam Lantinga
Data primei versiuni 1998
Ultima versiune 2.0.16 (10 august 2021)
Ultima versiune beta 2.0.0-7635 (13 august 2013 )
Sistem de operare Multiplatform
Limba C.
Licență 1.2 Licență GNU LGPL / 2.0 Zlib
( licență gratuită )
Site-ul web www.libsdl.org/
Strat DirectMedia simplu

Simple Directmedia Layer (SDL) este un liber multi-platformă multimedia de bibliotecă , scrise în C , care creează un strat abstract pe partea de sus a diferitelor grafice și platforme software de sunet și , prin urmare , poate controla video, audio digitale, CD-ROM, sunete, fire, încărcare partajată de obiecte, temporizatoare și rețea. Această abstracție permite programatorilor să scrie o aplicație multimedia o dată și să o ruleze pe multe sisteme de operare: versiunea actuală acceptă oficial Linux , Windows , BeOS , MacOS și macOS , FreeBSD , OpenBSD , BSD / OS ,Solaris , IRIX și QNX, dar codul sursă oferă, de asemenea, suport neoficial pentru Windows CE , AmigaOS , Dreamcast , Atari , NetBSD , AIX , OSF / Tru64 , RISC OS și SymbianOS .

Istorie

Sam Lantinga a creat biblioteca, lansând-o la începutul anului 1998 în timp ce lucra pentru Loki Software . Ideea i-a venit în timp ce transporta o aplicație de la Windows la Macintosh. Apoi a folosit SDL pentru a aduce Doom la BeOS (vezi portul sursă Doom ). Mai multe alte biblioteci gratuite au fost dezvoltate pentru a lucra cu SDL, cum ar fi SMPEG și OpenAL . Sam Lantinga a fondat, de asemenea, Galaxy Gameworks în 2008 pentru a oferi suport comercial pentru SDL pe sistemele iOS ; cu toate acestea, compania a fost cedată chiar de Lantinga în 2011. [1]

SDL 2.0 este o actualizare majoră a codului SDL 1.2 și modifică porțiuni mari din API. Unele caracteristici noi includ suport pentru mai multe ferestre, suport pentru mai multe dispozitive de intrare (mulți șoareci, tastaturi, etc ...), grafică 2D accelerată și suport îmbunătățit Unicode . [2] SDL 2.0 este distribuit sub licența Zlib și, prin urmare, poate fi utilizat gratuit cu legarea statică în proiecte comerciale cu sursă închisă, spre deosebire de SDL 1.2, care permite doar legătura dinamică [3] .

Arhitectură

Biblioteca are legături la aproape orice limbaj de programare în existență, de populara C ++ , Perl , Python (prin pygame ), Pascal la mai puțin cunoscute Euphoria și maleabil . Acest lucru și faptul că este licențiat conform LGPL , fac din SDL o alegere comună pentru multe aplicații multimedia.

SDL este foarte simplu; funcționează doar ca o învelitoare ușoară pe mai multe platforme, care oferă suport pentru operațiuni 2D pixeli, sunete, acces la fișiere, gestionarea evenimentelor, temporizatoare, fire și multe altele. Este adesea folosit ca o completare a OpenGL prin configurarea ieșirii grafice și asigurarea gestionării dispozitivelor de intrare, caracteristici care depășesc cu mult OpenGL.

Biblioteca este împărțită în subsisteme , precum Video (gestionează atât funcțiile pentru suprafețe, cât și pentru accesarea OpenGL), Audio, CD-ROM, Joystick și Time. În afară de suportul de nivel scăzut, există unele biblioteci oficiale de asistență care oferă funcționalități suplimentare. Acestea includ „bibliotecile standard”, sunt furnizate pe site-ul oficial și incluse în documentația oficială:

Portabilitate

Nivele de abstractizare pe diferite platforme.

SDL are cuvântul „strat” în numele său, deoarece este un strat de legătură cu funcționalitatea specifică a sistemului de operare. Scopul principal al SDL este de a oferi un cadru comun pentru accesarea acestor caracteristici.

Ca urmare a arhitecturii, o mare parte din codul sursă SDL este împărțit în module separate pentru fiecare sistem de operare; când se compilează SDL, sunt selectate modulele corecte pentru sistemul de operare țintă.

În Microsoft Windows , SDL oferă în mod implicit un link către interfața GDI ; Există, de asemenea, un link către bibliotecile DirectX . Versiunile mai vechi ale SDL foloseau DirectX 5, dar SDL 1.2 (actuala versiune stabilă) necesită DirectX 7. Sam Lantinga a declarat că intenționează să utilizeze DirectX 8 în viitoarele versiuni de SDL. [4]

Pe platformele X11 , inclusiv Linux , SDL folosește Xlib pentru a comunica cu sistemul X11 pentru grafică și evenimente.

Pe macOS , SDL folosește Quartz .

Subsisteme și sintaxă

Sintaxa SDL se bazează pe funcții: toate operațiunile efectuate în SDL sunt efectuate prin trecerea parametrilor la funcții. Structurile de date speciale sunt utilizate pentru a stoca informațiile pe care SDL trebuie să le funcționeze. Există câteva subsisteme în care SDL își clasifică funcțiile:

  • Subsistemul Video, Evenimente și Thread - acesta oferă funcționalități pentru video, multi-threading și gestionarea evenimentelor .
  • Subsistemul audio - acesta oferă capacități audio.
  • Subsistemul Timp
  • Subsistemul Joystick
  • Subsistemul CD-ROM

Extensii

  • SMPEG - bibliotecă de player MPEG SDL
  • Guichan și ParaGUI - Seturi de widgeturi
  • GGI - interfață grafică multiplată gratuită

Notă

  1. ^ Explorarea galaxiei . Slouken.blogspot.com , 6 aprilie 2011. Adus 16 iulie 2012 .
  2. ^ Foaie de parcurs SDL 2.0 , la wiki.libsdl.org . Adus la 25 iulie 2012 .
  3. ^ Licențierea bibliotecii Simple DirectMedia Layer , la libsdl.org . Adus la 16 iulie 2012 .
  4. ^ SDL mailing list , pe lists.libsdl.org , Libsdl.org. Adus la 16 iulie 2012 .

Elemente conexe

Alte proiecte

linkuri externe

Software gratuit Free Software Portal : accesați intrările Wikipedia care se ocupă cu software-ul liber