È stato rilasciato il pacchetto della libreria SDL 3.2.0 (Simple DirectMedia Layer), contrassegnato come il primo rilascio ufficiale stabile della serie SDL 3. La libreria è progettata per semplificare la scrittura di giochi e applicazioni multimediali, offrendo funzionalità come l'output grafico 2D e 3D accelerato dall'hardware, elaborazione degli input, riproduzione audio e output 3D tramite OpenGL, OpenGL ES, Metal, Direct3D o Vulkan. Il codice è scritto in C e distribuito sotto licenza Zlib. Sono disponibili dei wrapper per utilizzare SDL in progetti in vari linguaggi di programmazione.
Novità principali:
- È stata notevolmente migliorata la compatibilità con il protocollo Wayland, ora attivato per default negli ambienti che offrono supporto simultaneo per Wayland e X11, e supportano le estensioni del protocollo fifo-v1 e commit-timing-v1.
- Abilitato per impostazione predefinita il supporto multimediale server PipeWire è ora contrassegnato come più prioritario rispetto a PulseAudio.
- Aggiunta la supporto per la registrazione video dalle webcam (se PipeWire è presente).
- È stata aggiunta la possibilità di utilizzare tablet grafici e stilo digitali.
- Significativamente migliorato il supporto per schermi ad alta densità di pixel (High DPI).
- Aggiunta la supporto per spazi colore e la possibilità di gestire più spazi colore. Implementato supporto iniziale per HDR.
- Il codice per la gestione audio è stato completamente riscritto. Aggiunto il supporto per dispositivi audio logici (diverse parti del programma possono utilizzare ciascuna il proprio dispositivo audio). Sono state aggiunte funzioni per gestire flussi audio, conversione dei flussi, modifica della frequenza di campionamento, miscelazione, gestione della bufferizzazione, cambiamento di tono e volume. Implementata la gestione automatica della connessione o disconnessione dei dispositivi audio, nonché il cambio del dispositivo audio predefinito.
- Nell'API di rendering 2D è stato aggiunto un backend per il rendering tramite l'API Vulkan. Aggiunte funzioni per la gestione delle superfici tramite l'API Vulkan.
- Eseguita una vasta pulizia delle funzionalità obsolete, non più rilevanti nelle realtà moderne. Ad esempio, è stata interrotta la supporto per OpenGL ES 1.0 e DirectFB, rimosso il codice per funzionare su piattaforme obsolete come QNX, Pandora, WinRT e OS/2.
- È stata fornita la possibilità di organizzare il funzionamento del programma utilizzando callback e definire il ciclo di gestione degli eventi nella funzione main().
- Sono state apportate modifiche all'API che violano la compatibilità. Le regole di denominazione dell'API sono state unificate: le chiamate nelle diverse sottosistemi ora vengono denominate utilizzando un'unica schematica comune.
- Aggiunti nuovi API:
- GPU API - accesso multipiattaforma a GPU e capacità di rendering 3D.
- Dialog API - utilizzo di dialoghi per la selezione/apertura/salvataggio di file e cartelle.
- Filesystem API - operazioni con il filesystem, gestione delle cartelle e ricerca di file.
- Storage API - interfaccia di programmazione astratta per l'accesso a diversi sistemi di storage.
- Camera API - accesso alle web cam.
- Pen API - interazione con tavolette grafiche e stilo digitali, come Wacom e Apple Pencil.
-
Fonte: opennet.ru
