Simple Directmedia Layer

A Simple DirectMedia Layer (SDL) egy „multiplatformos” ingyenes, nyílt forráskódú multimédiás szoftverkönyvtár, amely C környezetben íródott, és különböző rendszerek grafikai, hang- és bemeneti API-jai – alkalmazásprogramozási interfészei – felett vett hidat létesít, ezáltal lehetővé téve a programfejlesztők számára, hogy programjaikat – számítógépes játékokat vagy egyéb multimédiás alkalmazást – csak egyszer írják meg, ám azt több platformra is változtatás nélkül lefordíthassák, és ezután a programot valamennyi rendszeren futtassák, beleszámítva a Linuxot, Windows-t, Mac OS X-et, AmigaOS-t illetve ennek egy utánzatát, MorphOS-t.

Ez a könyvtár kezeli a videót, az eseménykezelést, a digitális audiót, CD-ROM-ot, hangot, a folyamatokat, a megosztott objektumok betöltését, a hálózatot és az időzítést.

Simple DirectMedia Layer
Simple Directmedia Layer

FejlesztőSam Lantinga
Legfrissebb stabil kiadás1.2.13
(2007. december 31.)
Programozási nyelvC
Operációs rendszerBármely
ElérhetőC++, C, Java, Python, Perl, Ada, Lua, C#, D, Pascal, Lisp, Haskell, stb.
KategóriaAPI
Licenc
  • zlib License
  • GNU Lesser General Public License, version 2.1
A Simple DirectMedia Layer weboldala
Simple Directmedia Layer
Programkönyvtárak: Simple DirectMedia Layer, Mesa 3D vagy a GNU C Library. A hardver csak a rendszermagon át elérhető.

Története

Sam Lantinga létrehozott egy könyvtárat, melyet először 1998-ban adott ki, amikor a Loki Software cégnél dolgozott. Ő neki jött az ötlet, amikor éppen egy windowsos alkalmazást programozott át Macintosh-ra. Ezek után, az SDL segítségével átemelte a Doomot BeOS-re (ld. Doom forrás átemelése). Rengeteg egyéb ingyenes könyvtár tűnt az SDL-lel működőnek, mint például SMPEG és OpenAL.

Az SDL könyvtárnak szinte minden programozási környezetre létezik átirata, kezdve a legelterjedtebbekkel, (Pl.: C++, Perl, Python, (Keresztül a pygame-en), Pascal, stb.) egészen a kevésbé ismertekig (Pl.: Euphoria, vagy Pliant). Ez, valamint a tény, hogy nyílt forráskódú és LGPL licenc alatt van terjesztve, teszi az SDL könyvtárat egy általános választássá sok multimédiás alkalmazásnak.

Az SDL önmagában, igen egyszerű; éppen egy vékony „keresztrendszeres” keretként viselkedik, 2D képpontos műveleteket, hangot, fájl hozzáférést, eseménykezelést, időzítést, folyamat kezelést és még egyéb mást szolgáltatva. Gyakran használják az OpenGL kiegészítéseként azáltal, hogy beállítják a grafikai kimenetet, illetve egér és billentyűzet bemenetet kezelnek, ami az OpenGL határait terjeszti ki.

A könyvtár rengeteg alrendszerre van tagolva, nevezetesen a videó (mind a felületi funkciókat mind az OpenGL-t kezeli), audió, CD-ROM, botkormány és időzítő alrendszerre. Mind emellett az alap, alacsony szintű támogatás mellett, ott van még pár különálló hivatalos könyvtár, amely egyéb funkciókat lát el. Ez magában foglalja az „alap könyvtárat”, mindazonáltal a hivatalos honlapon is megtalálható, és a hivatalos dokumentációban is benne áll:

  • SDL_image - több képformátumot támogat
  • SDL_mixer - bonyolultabb audiofüggvények, főleg hang keveréséhez
  • SDL_net - Hálózat támogatása
  • SDL_ttf - TrueType font leképzés támogatása
  • SDL_rtf - egyszerű Rich Text Format leképzés

Felépítés

Simple Directmedia Layer 
Absztrakciós réteg, különböző SDL környezetekre.

Az SDL nevében benne van a layer, réteg szó, mivel ez egy keret, egy „réteg” az egyes rendszerek különleges tulajdonságai köré. A fő feladata az SDL-nek, hogy egy közös keretrendszert biztosítson ezeknek a tulajdonságok eléréséhez.

Az SDL tervezéséből adódóan, rengeteg forráskód apró külön álló modulokra darabolódott minden operációs rendszerhez, hogy hívásokat intézhessen az alatta működő rendszerhez. Mikor az SDL-t befordítják, a megfelelő modulok lesznek kiválasztva a rendszerhez.

A Microsoft Windows rendszer alatt, valójában a DirectX rendszer köré épül, ami a videókártya-meghajtót öleli fel. Régebbi verziójú SDL az 5-ös verzióját használja, de az SDL 1.2 (jelenlegi legújabb stabil változat) DirectX 7-et igényli alapból. Sam Lantinga állítása szerint, a következő változat, a DirectX 8-ra fog épülni [1].

Az X11 rendszeren, beleértve a Linuxot, az SDL az Xlib segítségével kommunikál az X11 rendszer grafikai eseményeivel.

Mac OS X alatt, a Quartz-ot használja.

Szintaktika és alrendszerei

Az SDL szintaktikája függvény alapú; minden művelet az SDL segítségével, függvényeknek adott paraméterek segítségével történik. Kiemelt struktúrákat is használ, hogy az SDL-nek kezeléséhez szükséges információkat tároljon. Van néhány különböző alrendszer, amely függvényeit, az SDL kategóriákba sorol:

  • A Videó, események és folyamatok alrendszere - ez támogatja a videó, több folyamat és események kezelését.
  • Az Audió alrendszer - ez a hang működését szolgálja.
  • Az Időzítő alrendszer
  • A Botkormány alrendszer
  • A CD-ROM alrendszer

Galéria

Kiterjesztések

  • SMPEG - SDL MPEG-lejátszó könyvtár
  • Guichan és ParaGUI - Eszköz készlet
  • GGI - egy ingyenes keresztrendszerű grafikai felület

Kapcsolódó szócikkek

  • Allegro könyvtár
  • DirectX
  • OpenGL
  • OpenML
  • pygame
  • SFML
  • SDL könyvtárat használó játékok listája

Jegyzetek

További információk

Fordítás

Ez a szócikk részben vagy egészben a Simple DirectMedia Layer című angol Wikipédia-szócikk fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel. Ez a jelzés csupán a megfogalmazás eredetét és a szerzői jogokat jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.

Tags:

Simple Directmedia Layer TörténeteSimple Directmedia Layer FelépítésSimple Directmedia Layer Szintaktika és alrendszereiSimple Directmedia Layer GalériaSimple Directmedia Layer KiterjesztésekSimple Directmedia Layer Kapcsolódó szócikkekSimple Directmedia Layer JegyzetekSimple Directmedia LayerAlkalmazásprogramozási felületAmigaOSC (programozási nyelv)HálózatLinuxMac OS XMorphOSMultimédiaPlatformfüggetlenségSzámítógépes játékWindows

🔥 Trending searches on Wiki Magyar:

Freddie HighmoreNiki LaudaVlagyimir Vlagyimirovics PutyinJulier FerencBebe (Back II Black)Mars (bolygó)Elba (sziget)Nikola Tesla (feltaláló)Dűne (film, 2021)OroszlánÍrországHerczeg Ferenc (író)ReformációAndrás calabriai hercegA munka ünnepeHelyi önkormányzati választásokArany János (költő)Balázs KláriAlbert EinsteinHorn GyulaRöplabdaAgymenőkCigányokToldi2010-es magyarországi országgyűlési választásHázasság első látásraKazahsztánKarinthy FrigyesBuddhizmusTisza István (miniszterelnök)Az ételművészKuruc.infoFülemüleEurópai országok átlagfizetés alapjánEurópai parlamenti választások MagyarországonHázi rozsdafarkúIndiaEgész estés Disney-rajzfilmek listájaDuna AszfaltOrbán ViktorKardffy AishaFekete rigóM3-as metróvonal (Budapest)Pindroch CsabaMagyarország vármegyéiMézga családEurópa országaiAnyeginBodrogi GyulaNői ejakulációHevér GáborSzendrei József (labdarúgó)Viktor GyökeresFehér akácLabdarúgó-világbajnokságIpari forradalomNarválVIII. Henrik angol királyVietnámi háborúAz Amerikai Egyesült Államok elnökeinek listájaMikkel Hansen2018-as magyarországi országgyűlési választásI. István magyar királySzent István-bazilika (Budapest)KaposvárI. Napóleon francia császárBarátok közt (10. évad)Bosznia-HercegovinaFülöp-szigetekSzékelyekOrszágok egy főre jutó GDP szerinti listája (nominális)MontenegróSopronJobboldalD. Tóth KrisztaAmy AdamsSzent György🡆 More