Quote Originariamente inviata da escocat Visualizza il messaggio
Ciao Marsh e grazie per il tuo intervento.



Magari XNA è morto per quelli che lo installeranno l'anno prossimo... io ho XNA al sicuro nel mio PC
ed in un HD esterno nel quale ho backuppato tutto il sistema e pure le DirectX. Il mio XNA è
eterno...per mia ignoranza non so a cosa ti riferisci quando parli di "re-implementazione data da
Monogame.... SharpDX..." io so solo che a suo tempo ho installato il Framework, C#, XNA dal sito
Microsoft e so solo che XNA si appoggia alle DirectX.



Ho visto in rete tutorial di programmazione con le DirectX in linguaggio C#. Già per usare XNA ho
dovuto abbandonare il buon vecchio VB6 per passare al VB2010 e da lì al C#, linguaggio con il quale
mi trovo benissimo. Trovo il C# un linguaggio snello, elegante, potente e.... maschio. Non me la
sento di cambiare nuovamente per il C++. Ho una certa età, anche se ho notato che il cervello,
contrariamente al resto del corpo, migliora col passare degli anni.



Quando si familiarizza con XNA le sue limitazioni cominciano a diventare strette... tipo le
dimensioni massime delle texture2d 4096x4096 o il numero di primitive per singole chiamate al
GraphicsDevice, nonchè una certa lentezza dei buffers quando si renderizzano strutture di vertici
molto pesanti. Implementare tutto secondo me è il lato più affascinante di questo "mestiere", non mi
spaventa studiare e passare le notti in bianco, lo faccio da quando avevo 25 anni. Ma vorrei essere
sicuro che il gioco vale la candela.
La cosa che più mi ha "disturbato" è l'assenza delle DirectX, Direct3D ecc. nella lista delle
References quando carico un programma in C# che ho prelevato dal tutorial di programmazione con le
DirectX. So per certo che sono installate, mi è notificata la presenza delle DirectX9 nel mio
sistema, come faccio a renderle "visibili" al C#? Questa è la domanda principale del mio post;
l'altra è: "ma ne vale la pena?"
E non per la morte di XNA (anche se continuare a cibarsi di carogne è un pò triste, ci si sente delle
jene...), ma per decollare in prestazioni.
Microsoft XNA (4.0) non viene più mantenuto dal 2011, non è nemmeno compatibile con le versione metro di windows 8 e 10, non ha senso programmare su un sistema deprecato...

Quello che ti consiglio se vuoi continuare sulla strada di XNA è
http://www.monogame.net/
qui forniscono la re-implementazione di XNA, hanno riscritto tutto il framework XNA sulla base di Mono, quindi è anche multipiattaforma, puoi fare i giochi per Desktop/Tablet, WP8/10, Android iOS...

Per vedere con il linguaggio C# le librerie DirectX, cioè trovarne le referenze, devi fare uso, ad esempio, delle API SharpDX
http://sharpdx.org/
Questo perché con C# non puoi accedere direttamente alle directx, ti serve un interfaccia.

Il fatto se ne vale o meno la pena dipende dal tuo scopo, dagli obiettivi del tuo progetto, se stai cercando di implementare un sistema mirato in un determinato campo High Performance per pc molto potenti chiaramente ti conviene andare a livelli più bassi cosi togliendo le limitazioni, mentre se il tuo scopo è quello di creare un gioco "normale" non credo ne valga la pena.