Feb
15
2009

Tutorial in italiano per DirectX 9, DirectX 10 e DirectX 11 by RobyDX

E’ da un pò che mi sto dedicando alla programmazione di videogiochi. Come molti sanno, per qualsiasi videogioco è indispensabile DirectX, OpenGL e altri. Ecco qui 3 tutorial DirectX (completamente in italiano) creati da Roberto Nacchia (alter RobyDx):

Logo Microsoft DirectX 10

Sono fatti benissimo, li ho capiti pure io avendo solo 13 anni!

Al prossimo articolo, ciao…

 

30 Commenti Commenta!

  • Dimmi una cosa, è spiegata anche la grafica 2D in dettaglio? Io ho bisogno di qualche risorsa che tratti questo argomento, cioè Direct 2D in Visual Basic .Net. Mi puoi aiutare?

  • Scusa, io devo utilizzare, su istruzioni aziendali (non posso fare tanto di testa mia) il framework .Net 3.5, DirectX SDK, in particolare Direct2D (o forse DirectDraw) con Visual Studio Express Edition 2008. Sono un pò a digiuno di conoscenze, non saprei nemmeno bene da dove partire, ci sono gia dei template, file precompilati base da cui partire con tanto di commenti? E guide, anche in inglese, per la grafica 2D con Visual Basic, ma non con questo XNA?

    • Purtroppo guide sul 2D non c’è ne sono molte, poi in Visual Basic per niente! Dovresti sapere qualcosina del C# (o meglio C++) per leggerti guide (come queste) e poi scrivere il codice per il tuo programma in Visual Basic. Nota: dalla versione 10 delle DirectX l’unico linguaggio di programmazione supportato è il C++! Ciao.

  • Ciao Archimede, sono un programmatore che sta per intraprendere la strada della programmazione dei videogiochi il tuo blog è davvero tanta roba spero imparare il piu velocemenete possibile ma ti volevo chiedere una cosa e scusa la mia ignoranza, è possibile programmare con le DirectX 10 su XP oppure ci vuole una versione successiva come Vista? Questo perchè ho controllato la versione delle DirectX del mio computer è la 10 e mi chiedo se è possibile visto che con XP sono arrivati alla 9c. Grazie per un eventuale risposta!

    • Per programmare con le DirectX 10 e 11 è necessario avere Windows Vista o Seven, con XP è impossibile! Ciao.

  • Qualcuno mi sa spiegare questo errore che mi da il Visual Basic sulle DirectX 9?

    Lo spazio dei nomi o il tipo specificato nelle importazioni ‘Microsoft.DirectX’ non contiene alcun membro pubblico o non è definito. Accertarsi che lo spazio dei nomi o il tipo sia definito e contenga almeno un membro pubblico e che il nome dell’elemento importato non utilizzi alias.

    Grazie a tutti.

    • Prova a scaricarti un progetto già pronto per vedere se è un problema tuo o delle DirectX non installate bene. Ricordati di importare le librerie prima di compilare l’applicazione. Ciao.

      • Si infatti è un progetto preso dalla rete che dovrebbe creare un triangolo colorato. Ho usato questa guida: http://www.riemers.net/eng/Tutorials/DirectX/Visual_Basic/Series1/The_first_triangle.php.

      • Scusa per il ritardo nella risposta sono stato all’estero il fine settimana. Mi spiace ma non so come aiutarti, controlla di aver installato correttamente le DirectX e la relativa SDK con i primi articoli di questa pagina. Se non risolvi c’è un topic apposito sull’articolo che hai letto a questa pagina. Ciao.

  • Figurati ci mancherebbe, il fatto è che non trovo i percorsi esattamente come dice lui. Non trovo il *.exe per l’installazione, ecco quello che scrive nell’articolo: SDK. /Developer Runtime\Managed DirectX\Retail troverete un setup chiamato mdxredist.exe. Il percorso non è identico ma magari non abbiamo proprio la stessa versione. Non trovo il file mdxredist.exe. Utilizzo Visual Studio 2010. Grazie, ciao.

    • Allora, partiamo da zero. E’ da un po’ di tempo che non uso DirectX ma vediamo se riesco ad aiutarti. Scarica la DirectX SDK più aggiornata (Giugno 2010) da questa pagina ed installala. Visto che le DirectX non sono nativamente compatibili con i linguaggi NET segui questo articolo. Sto provando anche io in questo momento, ho quasi finito di scaricare l’SDK. XNA supporta anche NET. Ciao.

      • Ok fatto, ora io mi trovo qui: C:\Programmi\Microsoft DirectX SDK (June 2010)\Redist. Dentro Redist c’è un file dxsetup.exe, è corretto? Lo devo fare partire? Ti ringrazio.

      • Ho cercato un po’ ed ho visto che non si può utilizzare la DirectX SDK di Giugno 2010 con NET 4.0, guarda qui e qui. Bisogna utilizzare una versione Managed. Io ti consiglio XNA, sempre Microsoft o C++ per usare le DirectX naturalmente. Ciao.

  • Qualcuno mi ha suggerito SlimDX, ne sai qualcosa? Scusa ma io sulla grafica sono assolutamente fuori, ma ne avrei bisogno a livello di quei programmi che colorano modelli ad elementi finiti reticolati (mesh) per relazionarli con una scala colorata, non so, pressione o temperatura ad esempio, quindi credo che sia una cosa molto più rozza di un videogame. Era giusto per dire come sono messo. Ciao.

    • Non la ho mai usata ma ho sentito dire che è una delle migliori.

      • Ma hai usato le Directx con C#?

      • No, usavo Visual Basic. Adesso dalle DirectX 10 in poi non è più possibile nativamente.

  • Vorrei farti qualche domanda:

    1) Ma se ho le DirectX 9 posso usare il Visual Basic 2010 Expess?
    2) Se si dove posso scaricare le DirectX 9 poichè io ho le 10?
    3) Ma poi potrei avere problemi in futuro dato che le DirectX 9 sono penso state abbandonate?
    4) Devo disinstallare le DirectX 10?

    Grazie.

    • Ti rispondo:

      1) Si, puoi leggere una guida qua.
      2) Se non sbaglio puoi usare anche l’ultima versione dell’SDK, puoi scaricarla qui.
      3) No, inoltre le DirectX 9 vengono usate ancora per molti giochi.
      4) No.

      • Scusa se ti disturbo ancora ma nel link della tua prima risposta apre una pagina dove compaiono 2 parole grafiche tipo quando le devi riscrivere per continuare, è corretto? Grazie e scusa.

      • No, scusa, mi devo scusare io. Ho messo il link sbagliato (stavo facendo altro), il giusto è questo. Fammi sapere se funziona, ciao e scusa ancora.

  • Scusa, avrei altre due domande:

    1) In Visual Basic è possibile colorare una porzione di piano triangolare individuata dalle coordinate dei vertici? Io lo faccio con i line colorati pennellando tutto l’interno fino ai lati, funziona ma è troppo lento.
    2) In Visual Basic 6 uso 13 gradazioni di colori (con i codici da 1 a 13 mi sembra), nel in VB 2010 è possibile averne di più?

    Grazie ancora, Enrico.

    • Per favore ti chiedo di farti aiutare da un forum apposito, è da parecchio che non uso le DirectX e non ricordo molto. Ciao.

  • Scusa ma quando aggiungo un riferimento non trovo più la scritta Microsoft.DirectX eppure le ho installate! Ho fatto un piccolo progetto e nei riferimenti sulla destra erano in elenco, sono nel pallone. Il tutto in C# ma penso che per l’installazione sia similare al quella per Visual Basic. Hai un suggerimento al volo?

    • No. Guarda ripeto, non uso le DirectX da diverso tempo, non ricordo e non so come posso aiutarti. Usa un forum di esperti in questo settore. Ciao.

      • Ciao, scusa una domanda generica su Visual Basic 2010. Prima, mi compariva un messaggio Just-in-Time e non mi faceva caricare i progetti, avevo anche cambiato il .NET Framework 4 con il 3.5 se no le DiretX non andavano, poi riavvio Visual Studio e ora li carica tutti di nuovo. Nel forum che mi hai dato, uno mi ha detto che è un vecchio problema e che ha dovuto formattare il computer due volte! Il tutto mi sembra strano, ne sai qualcosa? Per il resto procedo bene con quel forum, sono già al triangolo colorato che ruota. Ti ringrazio.

      • No, non ne so niente perchè non ho mai usato DirectX con il nuovo .NET Framework. Sono contento che hai trovato un forum di esperti disposti ad iutarti, buon lavoro. Ciao.

  • Ciao, scusa se ti disturbo, una cosa veloce, sul sito che mi hai consigliato rispondono in ritardo. Va tutto bene, sto facendo ruotare il triangolo ma le funzioni di rotazione non fanno quello che voglio. Ho usato quelle per ogni asse specifico, inserisco l’angolo e il centro di rotazione, tutto ok ma quanto cambio asse non mi tiene in memoria l’angolo dell’altro asse, cioè mi rimette il triangolo in posizione originale. Allora uso la seguente operazione “device.Transform.World = Matrix.Translation(-5, -10 * 1 / 3, 0) * Matrix.RotationAxis(New Vector3(anglex, angley, anglez), anglex)” di cui non ho chiare il significato dei 3 Angle, poichè mi sembra che qui tiene in memoria tutti gli angoli ma addirittura continua ad incrementarli tutti anche se io ne piloto solo uno. Se ti ricordi qualcosa al volo ti ringrazio.

    • Guarda qui e poi qui. Ciao.

Lascia un commento