SDL står for Simple DirectMedia Layer, og det er et open source multimedia bibliotek skrevet i C og designet for å gi lavt nivå tilgang til mus, tastatur, lyd, joystick, 3D grafikk maskinvare via Direct3D og OpenGL.
Brukes i mange Humble Bundle-spill eller Valves prisbelønte katalog
SDL er i dag sterkt brukt av emulatorer, videoavspillingsprogramvare, samt mange populære spill, inkludert den prisbelønte Linux-porten "Civilization: Call To Powe", mange Humble Bundle-spill og Valves prisvinnende katalog.
Kjører på alle vanlige operativsystemer
Enkel DirectMedia Layer kjører på mange operativsystemer, inkludert de vanlige GNU / Linux, Microsoft Windows og Mac OS X-ene. BeOS, BSD (FreeBSD, OpenBSD), BSD / OS, Solaris, IRIX, QNX OSes, samt operativsystemene Android og iOS støttes også. Støttede maskinvareplattformer inkluderer 32 og 64-biters.
Komme i gang med SDL
SDL er vanligvis tilgjengelig for nedlasting på en rekke Linux-kjernebaserte operativsystemer, gjennom deres offisielle programvarelager. Installere den med den nyeste kilden, som distribueres gratis på Softoware, er lett som kake.
Last ned og lagre arkivet i hjemmekatalogen, pakk det ut, åpne en Terminal app og naviger til stedet der du har hentet arkivfilen (f.eks cd / home /softoware/SDL2-2.0.3).
Kjør & lsquo; ./ configure && make & rsquo; kommandoen for å konfigurere, optimalisere og kompilere programmet. Etter en vellykket kompilering, kjør & lsquo; sudo make install & rsquo; kommandoen som en privilegert bruker for å installere SDL-systemet bredt.
Under panseret
En rask titt under hetten på SDL-prosjektet, vil informere oss om at den er skrevet på C-programmeringsspråket, og at det fungerer naturlig med C ++. Bindinger for andre programmeringsspråk er også tilgjengelige, som støtter den populære Python, & nbsp; Ada, Java, Lua, Eiffel, ML, PHP, Perl, Pike, Ruby og C #.
Hva er nytt i denne versjonen:
- Generelt:
- Lagt til en API for å få vanlige filsystembaner i SDL_filesystem.h: SDL_GetBasePath (), SDL_GetPrefPath ()
- Lagt til en API for å gjøre optimaliserte YV12- og IYUV-teksturoppdateringer: SDL_UpdateYUVTexture ()
- Lagt til en API for å få mengden RAM på systemet: SDL_GetSystemRAM ()
- Lagt til en makro for å utføre tidsstempel sammenligninger med SDL_GetTicks (): SDL_TICKS_PASSED ()
- Dramatisk forbedret OpenGL ES 2.0 rendering ytelse
- Lagt til OpenGL-attributt SDL_GL_FRAMEBUFFER_SRGB_CAPABLE
- Linux:
- Fiks lydstøtte med PulseAudio-driveren
- Faste manglende linjepunktpunkter i OpenGL-rendereren på noen drivere
- Symboler X11 er ikke lenger definert for å unngå kollisjoner når man kobler statisk
- Android:
- VIKTIG: Du må få den oppdaterte SDLActivity.java for å matche C-kode
- Flyttet EGL-initialisering til innfødt kode
- Fast akselerasjonsaksen rotasjon i forhold til enhetens rotasjon
- Varselforhold ved håndtering av EGL-konteksten på pause / CV
- Berøringsenheter er tilgjengelige for opptelling umiddelbart etter init
- Raspberry Pi:
- Lagt til støtte for Raspberry Pi, se README-raspberrypi.txt for detaljer
Hva er nytt i versjon 2.0.3:
- Generelt:
- Lagt til en API for å få vanlige filsystembaner i SDL_filesystem.h: SDL_GetBasePath (), SDL_GetPrefPath ()
- Lagt til en API for å gjøre optimaliserte YV12- og IYUV-teksturoppdateringer: SDL_UpdateYUVTexture ()
- Lagt til en API for å få mengden RAM på systemet: SDL_GetSystemRAM ()
- Lagt til en makro for å utføre tidsstempel sammenligninger med SDL_GetTicks (): SDL_TICKS_PASSED ()
- Dramatisk forbedret OpenGL ES 2.0 rendering ytelse
- Lagt til OpenGL-attributt SDL_GL_FRAMEBUFFER_SRGB_CAPABLE
- Linux:
- Fiks lydstøtte med PulseAudio-driveren
- Faste manglende linjepunktpunkter i OpenGL-rendereren på noen drivere
- Symboler X11 er ikke lenger definert for å unngå kollisjoner når man kobler statisk
- Android:
- VIKTIG: Du må få den oppdaterte SDLActivity.java for å matche C-kode
- Flyttet EGL-initialisering til innfødt kode
- Fast akselerasjonsaksen rotasjon i forhold til enhetens rotasjon
- Varselforhold ved håndtering av EGL-konteksten på pause / CV
- Berøringsenheter er tilgjengelige for opptelling umiddelbart etter init
- Raspberry Pi:
- Lagt til støtte for Raspberry Pi, se README-raspberrypi.txt for detaljer
Hva er nytt i versjon 1.2.14:
- Generelle notater:
- Fast flimmer når du endrer størrelsen på SDL-vinduet
- Fastkrasj i SDL_SetGammaRamp ()
- Fast frysing i SDL_memset () med 0 lengde når samlingskoden er deaktivert.
- Lagt til SDL_DISABLE_LOCK_KEYS miljøvariabel for å aktivere normale opp / ned hendelser for Caps-Lock og Num Lock-taster.
- Fast lydkvalitetsproblem når du konverterer mellom 22050 Hz og 44100 Hz.
- Fastgjort en tråkkrasj når noen tråder er raskt opprettet og fullført.
- Økt nøyaktighet av alfa-blandingsrutiner.
- Last ned BMP-filer som er lagret med skanningslinjene invertert.
- Fast musekoordinatklemme hvis SDL_SetVideoMode () ikke kalles som svar på SDL_VIDEORESIZE-hendelsen.
- Lagt til doxygen-dokumentasjon for SDL API-overskriftene.
- Unix notater:
- Faste potensielle minnekorrupsjon på grunn av monteringsfeil med SDL_revcpy ()
- Fastkrasjer prøver å oppdage SSE-funksjoner på x86_64-arkitekturen.
- Fast montering for GCC optimalisert 50% alfa-blending.
- Lagt til konfigureringsalternativet --bar-skjermsparer, slik at du kan aktivere skjermspareren som standard.
- Bruk XResetScreenSaver () i stedet for å deaktivere skjermspareren helt.
- Fjernet maksimal vindustørrelsesbegrensning på X11.
- Fast SDL_GL_SWAP_CONTROL på X11.
- Fast innstillingsvinduet for X11-vinduet.
- Fiks forvrengt X11-vinduesikon for noen visuelle bilder.
- Faste oppdage X11-biblioteker for dynamisk lasting på 64-bit Linux.
- SDL_GL_GetAttribute (SDL_GL_SWAP_CONTROL) returnerer den riktige verdien med GLX_SGI_swap_control.
- Lagt til SDL_VIDEO_FULLSCREEN_DISPLAY som et foretrukket synonym for SDL_VIDEO_FULLSCREEN_HEAD på X11.
- SDL_VIDEO_FULLSCREEN_DISPLAY miljøvariabelen kan settes til 0 for å plassere fullskjerm SDL-vinduer på den første Xinerama-skjermen.
- Lagt til SDL_VIDEO_FBCON_ROTATION miljøvariabelen for å kontrollere utgangsretningen på framebufferkonsollen. Gyldige verdier er: ikke satt - Ikke roterende, ingen skygge; & Quot; NONE & quot; - Roterer ikke, men bruker fortsatt skygge; & Quot; CW-quot; - Roterende skjerm med klokken; & Quot; UD & quot; - Roterende skjerm opp ned & Quot; CCW-quot; - Roterende skjerm mot klokken.
- Fast DirectFB-deteksjon på enkelte Linux-distribusjoner.
- Lagt til kode for å bruke PS3 SPE-prosessorene for YUV-konvertering på Linux.
- Oppdatert ALSA-støtte til den nyeste stabile APIen
- ALSA er nå foretrukket over OSS lyd. (SDL_AUDIODRIVER = dsp vil gjenopprette tidligere oppførsel.)
- Forbedret støtte for PulseAudio
- Nettverksstøttesystemet støttes nå dynamisk i løpet av kjøretiden.
- Fast krasj med MP-8866 Dual USB Joypad på nyere Linux-kjerner.
- Fastkrasj i SDL_Quit () når en joystick er koblet fra.
Kommentarer ikke funnet