SDL sta per Simple DirectMedia Layer ed è una libreria multimediale open source scritta in C e progettata per fornire accesso di basso livello a mouse, tastiera, audio, joystick, hardware grafico 3D tramite Direct3D e OpenGL.
Utilizzato in molti giochi Humble Bundle o nel premiato catalogo di Valve
Al giorno d'oggi, SDL è ampiamente utilizzato da emulatori, software di riproduzione video e numerosi giochi popolari, tra cui il pluripremiato porting Linux di "Civilization: Call To Powe", molti giochi Humble Bundle e il pluripremiato catalogo di Valve.
Funziona su tutti i sistemi operativi tradizionali
Simple DirectMedia Layer funziona su numerosi sistemi operativi, inclusi quelli tradizionali GNU / Linux, Microsoft Windows e Mac OS X. Sono supportati anche i sistemi operativi BeOS, BSD (FreeBSD, OpenBSD), BSD / OS, Solaris, IRIX, QNX, nonché i sistemi operativi mobili Android e iOS. Le piattaforme hardware supportate includono 32 e 64 bit.
Iniziare con SDL
SDL è solitamente disponibile per il download su numerosi sistemi operativi basati su kernel Linux, attraverso i loro repository software ufficiali. Installarlo usando il pacchetto sorgente più recente, che è distribuito gratuitamente su Softoware, è facile come una torta.
Scarica e salva l'archivio nella tua directory Home, decomprimilo, apri un'app Terminal e vai alla posizione in cui hai estratto il file di archivio (es. cd /home/softoware/SDL2-2.0.3).
Esegui il & lsquo; ./ configure && make & rsquo; comando per configurare, ottimizzare e compilare il programma. Dopo una compilazione di successo, esegui & rsquo; sudo make install & rsquo; comando come utente privilegiato per installare SDL a livello di sistema.
Sotto il cappuccio
Un rapido sguardo sotto il cofano del progetto SDL ci informerà che è scritto nel linguaggio di programmazione C e che funziona in modo nativo con C ++. Sono inoltre disponibili binding per altri linguaggi di programmazione, che supportano il popolare Python, & nbsp; Ada, Java, Lua, Eiffel, ML, PHP, Perl, Pike, Ruby e C #.
Novità in questa versione:
- Generale:
- Aggiunta un'API per ottenere percorsi di filesystem comuni in SDL_filesystem.h: SDL_GetBasePath (), SDL_GetPrefPath ()
- Aggiunta un'API per eseguire aggiornamenti ottimizzati delle texture YV12 e IYUV: SDL_UpdateYUVTexture ()
- Aggiunta un'API per ottenere la quantità di RAM sul sistema: SDL_GetSystemRAM ()
- Aggiunta una macro per eseguire confronti di marche temporali con SDL_GetTicks (): SDL_TICKS_PASSED ()
- Prestazioni di rendering di OpenGL ES 2.0 migliorate in modo significativo
- Aggiunto l'attributo OpenGL SDL_GL_FRAMEBUFFER_SRGB_CAPABLE
- Linux:
- Risolto il supporto audio flottante con il driver PulseAudio
- Corretti gli endpoint di linea mancanti nel renderer OpenGL su alcuni driver
- I simboli X11 non sono più definiti per evitare collisioni quando si collega staticamente
- Android
- IMPORTANTE: DEVI ottenere il file SDLActivity.java aggiornato in modo che corrisponda al codice C
- Inizializzazione EGL spostata su codice nativo
- Risolto il problema della rotazione dell'asse dell'accelerometro rispetto alla rotazione del dispositivo
- Condizioni di gara corrette durante la gestione del contesto EGL in pausa / ripresa
- I dispositivi touch sono disponibili per l'enumerazione subito dopo l'avvio
- Raspberry Pi:
- Aggiunto supporto per Raspberry Pi, vedi README-raspberrypi.txt per dettagli
Cosa c'è di nuovo nella versione 2.0.3:
- Generale:
- Aggiunta un'API per ottenere percorsi di filesystem comuni in SDL_filesystem.h: SDL_GetBasePath (), SDL_GetPrefPath ()
- Aggiunta un'API per eseguire aggiornamenti ottimizzati delle texture YV12 e IYUV: SDL_UpdateYUVTexture ()
- Aggiunta un'API per ottenere la quantità di RAM sul sistema: SDL_GetSystemRAM ()
- Aggiunta una macro per eseguire confronti di marche temporali con SDL_GetTicks (): SDL_TICKS_PASSED ()
- Prestazioni di rendering di OpenGL ES 2.0 migliorate in modo significativo
- Aggiunto l'attributo OpenGL SDL_GL_FRAMEBUFFER_SRGB_CAPABLE
- Linux:
- Risolto il supporto audio flottante con il driver PulseAudio
- Corretti gli endpoint di linea mancanti nel renderer OpenGL su alcuni driver
- I simboli X11 non sono più definiti per evitare collisioni quando si collega staticamente
- Android
- IMPORTANTE: DEVI ottenere il file SDLActivity.java aggiornato in modo che corrisponda al codice C
- Inizializzazione EGL spostata su codice nativo
- Risolto il problema della rotazione dell'asse dell'accelerometro rispetto alla rotazione del dispositivo
- Condizioni di gara corrette durante la gestione del contesto EGL in pausa / ripresa
- I dispositivi touch sono disponibili per l'enumerazione subito dopo l'avvio
- Raspberry Pi:
- Aggiunto supporto per Raspberry Pi, vedi README-raspberrypi.txt per dettagli
Novità nella versione 1.2.14:
- Note generali:
- Fisso lo sfarfallio durante il ridimensionamento della finestra SDL
- Corretto il crash in SDL_SetGammaRamp ()
- Corretto il blocco in SDL_memset () con lunghezza 0 quando il codice assembly è disabilitato.
- Aggiunta della variabile di ambiente SDL_DISABLE_LOCK_KEYS per abilitare i normali eventi su / giù per i tasti Caps-Lock e Num-Lock.
- Risolto problema di qualità audio durante la conversione tra 22050 Hz e 44100 Hz.
- Corretto un arresto anomalo del thread quando alcuni thread venivano rapidamente creati e completati.
- Maggiore accuratezza delle routine di fusione alfa.
- Risolto il problema del blocco dei file BMP salvati con le linee di scansione invertite.
- Corretto il blocco delle coordinate del mouse se SDL_SetVideoMode () non viene chiamato in risposta all'evento SDL_VIDEORESIZE.
- Aggiunta documentazione doxygen per le intestazioni dell'API SDL.
- Note Unix:
- Corretto il potenziale danneggiamento della memoria dovuto a bug di assembly con SDL_revcpy ()
- Corretti i crash che cercavano di rilevare le funzionalità SSE sull'architettura x86_64.
- Corretto il montaggio per GCC ottimizzato al 50% di blit alfa.
- Aggiunta opzione di configurazione --enable-screensaver, per consentire l'attivazione dello screensaver di default.
- Utilizza XResetScreenSaver () invece di disattivare completamente lo screensaver.
- Rimosso il limite massimo di dimensioni della finestra su X11.
- Risolto il problema con SDL_GL_SWAP_CONTROL su X11.
- Risolto il problema con l'impostazione del suggerimento di immissione della finestra X11.
- Corretta l'icona della finestra X11 distorta per alcuni elementi visivi.
- Corretto il rilevamento di librerie X11 per il caricamento dinamico su Linux a 64 bit.
- SDL_GL_GetAttribute (SDL_GL_SWAP_CONTROL) restituisce il valore corretto con GLX_SGI_swap_control.
- Aggiunto SDL_VIDEO_FULLSCREEN_DISPLAY come sinonimo preferito di SDL_VIDEO_FULLSCREEN_HEAD su X11.
- La variabile di ambiente SDL_VIDEO_FULLSCREEN_DISPLAY può essere impostata su 0 per posizionare finestre SDL a schermo intero sulla prima schermata di Xinerama.
- Aggiunta la variabile di ambiente SDL_VIDEO_FBCON_ROTATION per controllare l'orientamento dell'output sulla console framebuffer. I valori validi sono: non impostato - Non rotante, nessuna ombra; & Quot; NESSUNA & quot; - Non ruotando, ma usando ancora l'ombra; & Quot; CW & quot; - Rotazione dello schermo in senso orario; & Quot; UD & quot; - Rotazione dello schermo sottosopra; & Quot; antiorario & quot; - Rotazione dello schermo in senso antiorario.
- Risolto il rilevamento di DirectFB su alcune distribuzioni Linux.
- Aggiunto codice per utilizzare i processori PSE SPE per la conversione YUV su Linux.
- Aggiornato il supporto ALSA all'ultima API stabile
- ALSA è ora preferito rispetto all'audio OSS. (SDL_AUDIODRIVER = dsp ripristinerà il comportamento precedente.)
- Supporto migliorato per PulseAudio
- Il supporto del sistema di rete audio è ora caricato dinamicamente in fase di runtime.
- Corretto il crash con il Joypad MP-8866 Dual USB sui nuovi kernel Linux.
- Corretto il crash in SDL_Quit () quando un joystick è stato scollegato.
I commenti non trovato