FNA aggiunge il supporto a Direct3D 11
Redattore per Q-Gin. Clicca su '// TUTTI_GLI_ARTICOLI' per esplorare le altre pubblicazioni scritte da // Luca_Pio.
FNA aggiunge il supporto a Direct3D 11
Fare il porting di un videogioco non è cosa facile, soprattutto quando il supporto alle libreria che stai utilizzando è terminato da tempo, ma è qui che entra in gioco // FNA, ovvero, una re-implementazione open source di // XNA, che grazie alle sue librerie, in grado di funzionare indipendentemente dalla piattaforma su cui sono state inizialmente costruite, rende il lavoro degli sviluppatori molto più semplice.
Comunque, nell’ultima release di FNA è stato introdotto il supporto preliminare a Direct3D 11 per GNU/Linux e questo grazie all’utilizzo di due livelli di compatibilità assai famosi, ossia, DXVK-Native e vkd3d. Lo sviluppatore principale del progetto, Ethan Lee, ha scritto sul suo blog i motivi che hanno portato a questa aggiunta:
Ero davvero entusiasta di contribuire a questo progetto per diversi ragioni:
- Era una scusa per lavorare di nuovo con i programmatori di CodeWeavers.
- Avere un compulatore HLSL->DXBC nativo per Linux è da sempre nella lista dei desideri di ogni porter (cosa che anche Ryan può confermarvi).
- È sta anche una scusa per iniziare ad aiutare Joshua Ashton a rendere D3D9/10/11 un runtime fornito dai sistemi operativi, proprio come il runtime di Steam.
Sebbene Valve non stia ancora dando la priorità a Native, questo non ha impedito ad altri di lavorarci in modo indipendente – è questa la cooperazione che ha permesso al team di FNA di rilasciare quella che ho malamente denominato “l’alfa di FNA3D D3D11 per Linux”! Disponibile sul sito web di FNA, si tratta di un archivio supplementare per fnalibs.tar.bz2; aggiornando fnalibs e allegando linux_d3d11 è possibile passare /gldevice:D3D11 come argomento di lancio e verrà anche utilizzato dxvk con i binari nativi di Linux. È migliore dei nostri render nativi in OpenGL/Vukan? Forse! È comunque più figo anche non è migliore? Certo! Dopotutto, l’obiettivo principale di questa caratteristica è mostrare ciò che sono in grado di fare le software house che utilizzano D3D e che hanno intenzione di creare versioni native, poiché qualcuno deve pur dire a tutti che questa è un’opzione, ma non vedo nessun altro che lo faccia, quindi… eccoci qui.
Ethan Lee

Il post poi prosegue con Ethan Lee che spiega come questo realizzerà la sua visione, cioè, quello di fornire un runtime Direct3D e un compilatore HLSL integrati nelle distribuzioni Linux, proprio come già accade per altre librerie grafiche e linguaggi di shader, in modo che gli sviluppatori possano puntare su dei binari Linux nativi, ma senza dover inserire staticamente l’equivalente di un intero driver grafico all’interno dei propri giochi.
Dunque, sarà interessante vedere cosa ne verrà fuori, magari vedremo più sviluppatori utilizzare DXVK e vkd3d, in modo da ridurre i costi dei vari porting. Però in questi casi le aziende non sono limitate solo dagli strumenti di sviluppo, c’è anche la questione del market share e Linux che, tipicamente, non gode di una percentuale altissima.
