
Recentemente, è stato annunciato il rilascio di SDL 3.2, che si presenta come la prima versione stabile del ramo SDL 3 e ha introdotto importanti miglioramenti, nuove funzionalità, aggiustamenti, API, correzioni e altro ancora.
Per coloro che non conoscono la libreria SDL, dovresti sapere che fornisce strumenti come output grafico 2D e 3D con accelerazione hardware, elaborazione dell'input, riproduzione audio, output 3D tramite OpenGL/OpenGL ES e molte altre operazioni correlate.
Principali nuove funzionalità di SDL 3.2
In SDL 3.2 è evidenziato Supporto migliorato per Wayland, quello adesso È attivato per impostazione predefinita sui sistemi che offrono compatibilità sia con Wayland che con X11, purché supportino le estensioni fifo-v1 e commit-timing-v1. Anche l'utilizzo del media server PipeWire, considerato più efficiente di PulseAudio, ha la priorità per impostazione predefinita. Inoltre, è stata aggiunta la possibilità di acquisire video dalle webcam, a condizione che sia disponibile PipeWire.
Un'altra novità è il Aggiunto supporto per tavolette grafiche e penne digitali, insieme al supporto ottimizzato per i display DPI. Allo stesso modo, è stata implementata la gestione dello spazio colore, consentendo di lavorare con più configurazioni e fornendo il supporto iniziale per l'HDR.
Nei miglioramenti del suono, In SDL 3.2 il codice è stato completamente riprogettato, incorporando nuovi strumenti per gestire dispositivi audio logici, rendendo più semplice il funzionamento delle diverse parti di un programma con dispositivi indipendenti. Inoltre, è stata inclusa la funzionalità per lavorare con flussi audio, eseguire conversioni, regolare la frequenza di campionamento, mixare suoni e gestire il buffering, insieme alla possibilità di modificare il tono e il volume. Infine, è stato automatizzato il riconoscimento dei dispositivi audio collegati o disconnessi e la gestione dinamica del dispositivo audio predefinito.
Un'altra delle aggiunte più importanti è l'incorporazione di un backend nell'API di rendering 2D, che ti consente di sfruttare la potenza di Vulkan sia per il rendering che per la manipolazione delle superfici utilizzando questa API. Inoltre, è stata effettuata un'importante pulizia delle funzionalità considerate obsolete, come il supporto per OpenGL ES 1.0 e DirectFB, insieme alla rimozione del supporto per piattaforme legacy come QNX, Pandora, WinRT e OS/2.
SDL 3.2 introduce anche il possibilità di strutturare programmi utilizzando il callback e definire il ciclo di elaborazione degli eventi direttamente nella funzione principale del codice. Inoltre, se implementato modifiche nell'APIo rompo con la precedente compatibilità, ma cerco una maggiore coerenza unificando le regole di denominazione in tutti i sottosistemi.
All'interno nuovi strumenti inclusi, evidenziano diverse API progettate per coprire esigenze diverse. Tra loro:
- L'API GPU consente l'accesso multipiattaforma alle funzioni di rendering 3D, mentre l'API Dialog semplifica la selezione, l'apertura e il salvataggio di file e directory.
- L'API File System aggiunge il supporto per la gestione delle directory e la ricerca di file, mentre l'API Storage fornisce un'interfaccia astratta per interagire con vari sistemi di archiviazione.
- API della fotocamera per l'accesso alla webcam
- API Pen per lavorare con tavolette grafiche
- API delle proprietà per gestire i parametri in formato chiave-valore
- API di processo che facilita l'esecuzione e la comunicazione con i processi secondari.
- È stata inoltre aggiunta l'API dei metadati per definire le informazioni sulle applicazioni, utilizzate nei menu dei sistemi operativi come macOS.
Per quanto riguarda gli appunti, la sua funzionalità è stata ampliata, ora consente il trasferimento dei dati in più formati. Da parte sua, sono state migliorate le capacità di gestione degli input da tastiera, aggiungendo opzioni per configurare tastiere virtuali su dispositivi iOS e Android. Inoltre è stata rivista e migliorata la documentazione API, corredata da esempi pratici eseguibili direttamente da browser.
Ultimo ma non meno importante, va sottolineato anche questo Insieme a SDL 3.2, è stato rilasciato il livello di compatibilità sdl2-compat, progettato per fornire una transizione senza interruzioni tra SDL 2 e SDL 3. Questo componente consente di eseguire programmi scritti per SDL 2 sfruttando le funzionalità del nuovo ramo, agendo come un completo sostituto della versione precedente.
Interessato a saperne di più, puoi consultare i dettagli nel seguente link