Vulkan (API)
Vulkan è un'interfaccia di programmazione applicativa (API) di basso livello, multi-piattaforma in 2D e 3D, annunciata la prima volta al GDC 2015 da Khronos Group. Inizialmente venne presentata come "OpenGL di prossima generazione" o semplicemente "glNext" di Khronos, ma l'uso di questi nomi è stato sospeso una volta che il nome di Vulkan è stato annunciato. Come OpenGL, gli obiettivi di Vulkan sono le alte prestazioni per applicazioni di grafica 3D in tempo reale come i giochi e i media interattivi su tutte le piattaforme; inoltre offre prestazioni più elevate e minore sovraccarico della CPU come Direct3D 12 e Mantle. Si dice che Vulkan è derivato da e costruito su componenti Mantle di AMD.
Vulkan software | |
---|---|
![]() | |
![]() | |
Genere | API (non in lista) |
Sviluppatore | Khronos Group |
Data prima versione | 16 febbraio 2016[1] |
Ultima versione | 1.4.313 (18 aprile 2025) |
Sistema operativo | Multipiattaforma |
Linguaggio | C |
Licenza | licenza Apache 2.0, licenza MIT e CC BY 4.0 (licenza libera) |
Sito web | www.vulkan.org/ |
Introduzione
Vulkan ha lo scopo di fornire una varietà di vantaggi rispetto ad altre API così come il suo predecessore OpenGL. Vulkan offre minori costi, un controllo più diretto dell'hardware e della GPU, e un minore utilizzo della CPU, portando ai seguenti vantaggi:
- OpenGL usa il linguaggio ad alto livello GLSL per la scrittura di shader (analogo all'HLSL delle DirectX) che costringe ogni driver OpenGL all'esecuzione di un proprio compilatore per GLSL che esegue in fase di esecuzione dell'applicazione la traduzione dello shader del programma in codice eseguibile per la piattaforma di destinazione. Vulkan fornisce un intermediario binario chiamato SPIR-V (Standard Portable Intermediate Representation). Questo riduce l'onere sui fornitori di driver, permette la precompilazione degli shader, permette agli sviluppatori di applicazioni di scrivere shader in linguaggi diversi da GLSL.
- API multipiattaforma supportate sia sui dispositivi mobili sia su schede grafiche di fascia alta.
- OS agnostic per migliorare la portabilità delle applicazioni create utilizzando l'API.
- Migliorato il supporto per i sistemi moderni che utilizzano multithreading.
- Ridotto il carico sulla CPU in situazioni in cui la CPU costituisce il collo di bottiglia, permettendo un throughput più elevato per i calcoli GPU e rendering.
Vulkan 1.0
Rilasciate il 16 febbraio 2016, rappresentano la prima versione finale delle API Vulkan.
Vulkan 1.0.4 (25 febbraio 2016)
- Bug Fix ed altre modifiche minori
Vulkan 1.0.5 (4 marzo 2016)
- Bug Fix
- Nuove regole aggiunte
- Sistemate alcune specifiche nella documentazione
- Aggiunta dell'estensione NVIDIA's VK_NV_glsl_shader
Vulkan 1.0.21 (16 luglio 2016)
- Bug Fix
- Sistemata la documentazione, con aggiunta di esempi pratici
Vulkan 1.0.39 (23 gennaio 2017)
E' la release con il maggior numero di novità fin dalla prima release delle api
- Bug Fix
- Molte nuove estensioni aggiunte ( per esempio VK_KHR_get_physical_device_properties2 e VK_KHR_maintenance1)
- Aggiornata tutta la documentazione, con particolare riguardo ai chiarimenti
Vulkan 1.0.54 (13 luglio 2017)
- Nuove estensioni in "Beta"
- Passate allo stato "Stable" molte estensioni precedentemente in stato "Beta" (es. VK_KHR_16bit_storage e VK_KHR_variable_pointers)
- Altri Bug Fix
Note
Collegamenti esterni
- (EN) Sito ufficiale, su vulkan.org.