Dov'è DirectX SDK?

A partire da Windows 8, DirectX SDK è incluso come parte dell'SDK Windows.

È stata originariamente creata l'SDK DirectX come piattaforma ad alte prestazioni per lo sviluppo di giochi oltre a Windows. Man mano che le tecnologie DirectX hanno maturo, sono diventati rilevanti per una gamma più ampia di applicazioni. Oggi, la disponibilità dell'hardware Direct3D nei computer unità anche le applicazioni desktop tradizionali per usare l'accelerazione hardware grafica. In parallelo, le tecnologie DirectX sono più integrate con Windows. DirectX è ora una parte fondamentale di Windows.

Dato che Windows SDK è il principale SDK per sviluppatori per Windows, DirectX è ora incluso nel kit. Puoi usare Windows SDK per creare giochi eccezionali per Windows. Per scaricare l'SDK Windows 8.x o Windows 10 SDK, vedere Windows SDK e archivio dell'emulatore.

Le tecnologie e gli strumenti seguenti, in precedenza parte di DirectX SDK, fanno ora parte dell'SDK Windows.

Tecnologia o strumento Descrizione
componenti grafici Windows
Le intestazioni e le librerie per Direct3D e altre API grafiche Windows, ad esempio Direct2D, sono disponibili nell'SDK Windows.
[! Nota]
Le librerie di utilità D3DX9/D3DX10/D3DX11 deprecate sono disponibili tramite NuGet, ma esistono anche diverse alternative open source. La libreria di utilità D3DCSX DirectCompute e la DLL ridistribuibile è disponibile nell'SDK di Windows. D3DX12 è disponibile in GitHub.

Compilatore HLSL (FXC.EXE)
Il compilatore HLSL è uno strumento nella sottodirectory dell'architettura appropriata nella cartella bin nell'SDK di Windows.
[! Nota]
L'API D3DCompiler e la DLL ridistribuibile sono disponibili nell'SDK di Windows.


Per lo sviluppo di DirectX 12, usare DXCompiler nell'SDK di Windows e ospitato in GitHub.
PIX per Windows
Una sostituzione per lo strumento PIX per Windows è ora una funzionalità in Microsoft Visual Studio, denominata debugger della grafica Visual Studio. Questa funzionalità ha notevolmente migliorato l'usabilità, il supporto per Windows 8 e Direct3D 11.1 e l'integrazione con le funzionalità di Microsoft Visual Studio tradizionali, ad esempio stack di chiamate e finestre di debug per il debug di HLSL. Per altre informazioni su questa nuova funzionalità, vedere Debug della grafica DirectX.

Per lo sviluppo di DirectX 12, vedere la generazione più recente di PIX in Windows
XAudio2 per Windows
L'API XAudio2 è ora un componente di sistema in Windows 8.x e Windows 10. Le intestazioni e le librerie per XAudio2 sono disponibili nell'SDK di Windows. Per Windows 7 supporto, vedere XAudio2Redist.
XInput per Windows
L'API XInput 1.4 è ora un componente di sistema in Windows 8.x e Windows 10. Le intestazioni e le librerie per XInput sono disponibili nell'SDK di Windows.
[! Nota]
Legacy XInput 9.1.0 è disponibile anche come parte di Windows 7 o versioni successive.

XNAMATH
La versione più recente di XNAMATH, aggiornata per i nuovi set di istruzioni e ARM64, è ora DirectXMath. Le intestazioni per DirectXMath sono disponibili nell'SDK Windows e in GitHub.
Visualizzatore funzionalità DirectX Pannello di controllo e DirectX
Le utilità DirectX Pannello di controllo e DirectX Capabilities Viewer sono incluse nella sottodirectory dell'architettura appropriata nella cartella bin nell'SDK di Windows. DirectX Capabilities Viewer è disponibile anche in GitHub.
XACT
Lo strumento XACT (Xbox Audio Cross Platform Tool) non è più supportato per l'uso in Windows.
Giochi Explorer e GDFMAKER
L'API Games Explorer presenta giochi agli utenti di Windows. L'API Games Explorer è supportata solo in Windows Vista e Windows 7. Usare lo strumento Games Definition File Maker (GDFMAKER.EXE) per dichiarare le classificazioni dei giochi per le app Windows Store.
Lo strumento Game Definition File Maker (GDFMaker.exe) è incluso nella sottodirectory x86 nella cartella bin nell'SDK di Windows e supporta sia le app dello Store Windows che le applicazioni desktop Win32.

Esempi
È possibile trovare applicazioni di esempio che evidenziano tecnologie DirectX 12 in Windows nel repository di esempi DirectX. La maggior parte degli esempi per le versioni precedenti di Direct3D è disponibile online. Per altre informazioni su questi esempi, vedere Catalogo esempi di DirectX SDK.
DirectX gestito 1.1
Gli assembly DirectX .NET sono deprecati e non sono consigliati per l'uso da parte di nuove applicazioni. Sono disponibili diverse alternative. Vedere DirectX e .NET.

 

L'SDK DirectX legacy è disponibile per il download dall'Area download Microsoft , se necessario, ma l'uso per i nuovi progetti non è consigliato.

Nota

DirectX SDK non riesce a installare se è già installata una determinata versione di Visual C++ 2010 Redistributable Package. Per altre informazioni su e una soluzione per risolvere questo problema, vedere l'errore "S1023" quando si installa DirectX SDK (giugno 2010).

 

Uso di progetti DirectX SDK con Visual Studio

Gli esempi di DirectX SDK di giugno 2010 sono supportati con SKU premium Visual Studio (Microsoft Visual Studio Professional 2012, Microsoft Visual Studio Ultimate 2012, Microsoft Visual Studio Professional 2013 o Microsoft Visual Studio Ultimate 2013) Windows 7 e le versioni successive e Windows 8. A causa della transizione di intestazioni e librerie DirectX nell'SDK Windows, sono necessarie modifiche alle impostazioni del progetto per compilare correttamente questi esempi con il modo in cui l'SDK Windows 8 e versioni successive viene in pacchetto con gli SKU premium Visual Studio.

Questi passaggi si applicano anche ai propri progetti dipendenti dall'SDK DirectX.

  1. Assicurarsi che la versione di giugno 2010 di DirectX SDK sia installata nel computer di sviluppo. Se si installa in un computer che esegue Windows 8 e versioni successive, verrà richiesto di abilitare .NET 3.5 come installazione prerequisito per DirectX SDK.

    Nota

    DirectX SDK non riesce a installare se è già installata una determinata versione di Visual C++ 2010 Redistributable Package. Per altre informazioni su e una soluzione per risolvere questo problema, vedere l'errore "S1023" quando si installa DirectX SDK (giugno 2010).

     

  2. Assicurarsi di usare uno degli SKU premium Visual Studio. Microsoft Visual Studio Express 2012 per Windows 8 o Microsoft Visual Studio Express 2013 per Windows non creerà Windows 8 e applicazioni desktop successive, ad esempio gli esempi di DirectX SDK. Per installare uno degli SKU premium Visual Studio, passare a: Visual Studio download e seguire le istruzioni.

  3. Usare DirectX SDK Sample Browser per installare i file di progetto per l'esempio desiderato. Aprire il file di soluzione compatibile Microsoft Visual Studio 2010 dell'esempio (suffisso con _2010).

  4. Se si apre l'esempio in un sistema con Microsoft Visual Studio 2012 o Microsoft Visual Studio 2013 installato, viene visualizzato il messaggio seguente: "Questa soluzione contiene uno o più progetti usando una versione precedente del compilatore e delle librerie VC++. Ogni progetto può essere aggiornato per usare il compilatore e le librerie di VC++ (v110)." Scegliere l'opzione Aggiorna da questa finestra di dialogo per aggiornare prima di aprire il progetto.

    In caso contrario, è possibile eseguire l'aggiornamento ai Visual Studio 2012 o Visual Studio 2013 compilatore e librerie C++ 11 dopo aver caricato facendo clic con il pulsante destro del mouse sulla soluzione e scegliendo Aggiorna VC++ progetti.

  5. D3DX non è considerato l'API canonica per l'uso di Direct3D in Windows 8 e versioni successive e pertanto non è inclusa nell'SDK di Windows corrispondente. Esaminare le soluzioni alternative per l'uso dell'API Direct3D. Per i progetti legacy, ad esempio gli esempi DirectX SDK di Windows 7 (e versioni precedenti), sono necessari i passaggi seguenti per creare applicazioni con D3DX usando DirectX SDK:

    1. Modificare le directory VC++ del progetto come indicato di seguito per usare l'ordine corretto per le intestazioni e le librerie SDK.

      i. Aprire **Proprietà** per il progetto e selezionare la pagina **VC++ Directory** . ii. Selezionare **Tutte le configurazioni e tutte le piattaforme**. iii. Impostare queste directory come indicato di seguito:
      • Directory eseguibili: <eredita dalle impostazioni predefinite> padre o del progetto (a discesa a destra)
      • Includi directory: $(IncludePath);$(DXSDK_DIR)Include
      • Includi directory libreria: $(LibraryPath);$(DXSDK_DIR)Lib\x86

      iv. Fare clic su Applica.
      v. Scegliere la piattaforma x64.
      vi. Impostare la directory della libreria come indicato di seguito:

      • Directory della libreria: $(LibraryPath);$(DXSDK_DIR)Lib\x64
    2. Ovunque nel progetto siano inclusi "d3dx9.h", "d3dx10.h" o "d3dx11.h", assicurarsi di includere in modo esplicito "d3d9.h", "d3d10.h" e "dxgi.h" o "d3d11.h" e "dxgi.h" per assicurarsi di scegliere prima di tutto la versione più recente. Se necessario, è possibile disabilitare l'avviso C4005 ; Tuttavia, questo avviso indica che si sta usando la versione precedente di queste intestazioni.

    3. Rimuovere tutti i riferimenti a DXGIType.h nel progetto. Questa intestazione non esiste in Windows SDK e la versione di DirectX SDK è in conflitto con il nuovo winerror.h.

    4. Tutte le DLL D3DX vengono installate nel computer di sviluppo dall'installazione di DirectX SDK. Assicurarsi che le dipendenze D3DX necessarie vengano ridistribuite con qualsiasi esempio o con l'applicazione se viene spostata in un altro computer.

    5. Tenere presente che le tecnologie sostitutive per gli usi correnti di D3DX11 includono DirectXTex, DirectXTK, DirectXMesh e UVAtlas. D3DXMath viene sostituito da DirectXMath.

  6. Assicurarsi di usare la nuova versione del compilatore shader HLSL osservando le condizioni seguenti:

    1. Se si modifica la directory eseguibile in base al passaggio 5, le compilazioni del progetto useranno FXC dall'installazione di Windows SDK. Tenere presente che i file HLSL sono ora ufficialmente riconosciuti da Visual Studio. È possibile aggiungerli come file di progetto e impostare le opzioni del compilatore tramite il sistema di progetto.

    2. Richiamare la compilazione in fase di esecuzione tramite la DLL D3DX legacy userà la versione precedente non corretta del compilatore HLSL. Sostituire tutti i riferimenti alle API D3DXCompile*, D3DX10Compile*e D3DX11Compile* nel codice con la funzione D3DCompile in D3DCOMPILER_46.DLL o D3DCOMPILER_47.DLL.

    3. Qualsiasi progetto che usa la compilazione dello shader di runtime deve avere D3DCOMPILER_xx.DLL copiato nel percorso eseguibile locale per il progetto. Questa DLL è disponibile in questa sottodirectory dell'installazione di Windows SDK in %ProgramFiles(x86)%\Windows Kits\8.0\Redist\D3D\<arch> o %ProgramFiles(x86)%\Windows Kits\8.1\Redist\D3D\<arch> dove <arch> è x86 e x64.

      Il D3DCOMPILER_46.DLL o il D3DCOMPILER_47.DLL dall'SDK di Windows non è un componente di sistema e non deve essere copiato nella directory di sistema Windows. È possibile ridistribuire questa DLL ad altri computer con l'applicazione come DLL affiancata.

  7. Qualsiasi progetto che usa l'API XInput ed è destinato all'esecuzione in Windows 7 o versioni precedenti di Windows deve usare la versione legacy (9.1.0) o dovrà includere in modo esplicito le intestazioni e le librerie per questo componente da DirectX SDK. Intestazione XInput e XINPUT. LIB incluso nel Windows SDK è destinato solo alla versione (1.4) fornita come parte di Windows 8 e versioni successive. La stessa intestazione può essere usata con XINPUT9_1_0.LIB per usare la versione legacy, inclusa nelle versioni precedenti di Windows. La versione legacy di XInput non rileva le funzionalità complete o supporta l'audio integrato nel controller, quindi se è necessario il supporto per queste funzionalità, è necessario usare la versione di DirectX SDK (1.3).

    Per usare l'API XInput di livello inferiore completa, è consigliabile #include usare direttamente le intestazioni XInput specifiche di DirectX SDK:

    #include <%DXSDK_DIR%Include\xinput.h>

    ... e nelle opzioni del linker per Dipendenze aggiuntive, collegarsi direttamente alla libreria XInput di DirectX SDK:

    %DXSDK_DIR%Include\<arch>\xinput.lib

    Il file binario XINPUT1_3.DLL viene installato nelle directory di sistema Windows dall'installazione di DirectX SDK nel computer di sviluppo. Sarà necessario ridistribuire questo file binario con l'applicazione usando l'installazione del programma di installazione DirectX da DirectX SDK.

  8. Qualsiasi progetto che usa l'API XAudio2 e deve essere eseguito in Windows 7 o versioni precedenti di Windows deve usare la versione precedente (9.1.0) o includere in modo esplicito le intestazioni e le librerie per questo componente da DirectX SDK. Le intestazioni e le librerie XAudio2 incluse nell'SDK di Windows sono destinate solo alla versione (2.8) inclusa come parte di Windows 8.

    Ad esempio, con XAudio2, devi usare #include direttamente le intestazioni XAudio2 specifiche di DirectX SDK:

    #include <%DXSDK_DIR%Include\xaudio2.h>

    ... e nelle opzioni del linker per Dipendenze aggiuntive, collegarsi direttamente alla libreria XAudio2 di DirectX SDK:

    %DXSDK_DIR%Include\<arch>\xaudio2.lib

    Il file binario XAUDIO2_7.DLL viene installato nelle directory di sistema Windows dall'installazione di DirectX SDK nel computer di sviluppo. È necessario ridistribuire queste librerie con l'applicazione usando l'installazione del programma di installazione DirectX da DirectX SDK.

  9. Se è stato usato DirectX SDK con versioni precedenti di Visual Studio, l'aggiornamento di Visual Studio 2010 potrebbe aver eseguito la migrazione del percorso di DirectX SDK nelle impostazioni predefinite del progetto. È consigliabile rimuovere queste impostazioni per evitare errori di compilazione futuri. Nella directory %USERPROFILE%\AppData\Local\Microsoft\MSBuild\v4.0 modificare i file Microsoft.Cpp.Win32.user e Microsoft.Cpp.x64.user per rimuovere tutti i riferimenti ai percorsi di DXSDK_DIR. In alternativa, è possibile rimuovere l'intero <nodo PropertyGroup> contenente le voci Percorso, <ad esempio ExecutablePath e <IncludePath>>, per ripristinare le impostazioni predefinite standard. Se non vengono visualizzati riferimenti a DXSDK_DIR in questi file, non sono necessarie modifiche.

  10. Se l'app risultante supporta Windows Vista con Service Pack 2 (SP2) e Windows 7 e Windows 8 e versioni successive, impostare la definizione del preprocessore denominata _WIN32_WINNT su 0x600. Se supporta solo Windows 7 e Windows 8 e versioni successive, impostarlo su 0x601.

    Ad esempio:

    1. Aprire Proprietà per il progetto e selezionare C/C++>Preprocessore.
    2. Selezionare Tutte le configurazioni e Tutte le piattaforme.
    3. Passare alla sezione Definizioni del preprocessore e impostare _WIN32_WINNT=0x600.
    4. Fare clic su Applica.

Giochi per Windows e DirectX SDK

Dove si trova DirectX SDK (2021 Edition)?

SDK DirectX di una certa età

Vivere senza D3DX