// Q-GIN 6.00
--:--:-- | 12.AGO.2026
Notizie 26 FEBBRAIO 2024 2 MIN LETTURA

SDL3: Vulkan e un API per la fotocamera

Redattore per Q-Gin. Clicca su '// TUTTI_GLI_ARTICOLI' per esplorare le altre pubblicazioni scritte da // Luca_Pio.

// NESSUN_LINK_SOCIAL
// TUTTI_GLI_ARTICOLI
Vulkan
// Q-GIN Vulkan-thumbnail-1
// SCHEDA_GIOCO

SDL3: Vulkan e un API per la fotocamera

Durante lo sviluppo di SDL3, sono stati implementati alcuni recenti ed entusiasmanti miglioramenti. Tra questi, spiccano l’aggiunta di un back-end per il rendering Vulkan e un API per gestire la fotocamera, che arricchiscono significativamente le funzionalità offerte dalla libreria.

SDL, acronimo di Simple DirectMedia Layer, è una libreria di sviluppo open source e multipiattaforma, progettata per fornire un’accesso di basso livello per l’audio, la tastiera, il mouse, il gamepad, la scheda video e tanto altro. È così popolare che molti videogiochi la usano, persino quelli di Valve. Per saperne di più, vi consigliamo di consultare il // sito_ufficiale.

Comunque, SDL3 sarà una release piuttosto importante e, come abbiamo scritto poc’anzi, hanno integrato il renderer Vulkan nel progetto. Questa aggiunta è stata portata avanti da Dan Ginsburg, uno sviluppatore di Valve. Di seguito, vi riportiamo un pezzettino della // pull_request:

Questa pull request aggiunge un’implementazione di un back-end Vulkan a SDL. Finora l’ho testato principalmente su Windows, ma anche su Linux e macOS (MoltenVK). Non l’ho ancora provato su Android, ma dovrebbe essere utilizzabile anche lì (tolti eventuali bug che mi saranno sfuggiti). È nato come un porting del Renderer Direct3D12 di SDL, che è la cosa più vicina a Vulkan all’interno del omonima libreria. Gli shader sono più o meno identici (l’unica differenza riguarda il binding decriptor contro il root descriptor). Gli shader sono costruiti usando il frontend HLSL di glslang.

Tutto il codice è puro Vulkan 1.0 (senza estensioni), fatta eccezione per il supporto HDR che richiede l’estensione VK_EXT_swapchain_colorspace. Il codice avrebbe potuto essere notevolmente semplificato se avessi usato il dynamic rendering, i push descriptors, gli extended dynamic state e altre caratteristiche moderne di Vulkan, ma ho ritenuto più importante avere un codice il più vanilla possibile, in modo che potesse funzionare su qualsiasi implementazione.

Dan Ginsburg

Come se non bastasse, lo sviluppatore Ryan Gordon ha pubblicato su // Patreon un post riguardante la nuova API per la fotocamera, che consente a SDL3 di accedere, appunto, alla fotocamera e su diverse piattaforme. L’artefice di questa impresa ha anche mostrato il suo funzionamento con un breve video, che vi lasciamo in calce all’articolo.

// CONDIVIDI_ARTICOLO
// UNISCITI_ALLA_COMMUNITY

Ti è piaciuto questo articolo?

Non perderti i nostri prossimi contenuti. Unisciti al nostro canale Telegram o seguici sui social per restare sempre aggiornato!