Dov'è DirectX SDK?
A partire da Windows 8, DirectX SDK è incluso come parte di Windows SDK.
In origine è stato creato DirectX SDK come piattaforma ad alte prestazioni per lo sviluppo di giochi in cima 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 Windows 11 SDK, Windows 10 SDK o Windows 8.x SDK, vedere l'archivio di Windows SDK e dell'emulatore.
Le tecnologie e gli strumenti seguenti, in precedenza parte di DirectX SDK, fanno ora parte di Windows SDK.
Tecnologia o strumento | Descrizione |
---|---|
Componenti grafici Windows |
Le intestazioni e le librerie per Direct3D e altre API grafiche di Windows, ad esempio Direct2D, sono disponibili in Windows SDK. [! Nota] |
Compilatore HLSL (FXC.EXE) |
Il compilatore HLSL è uno strumento nella sottodirectory dell'architettura appropriata nella cartella bin in Windows SDK.[! Nota] Per lo sviluppo di DirectX 12, usare DXCompiler in Windows SDK e ospitato in GitHub. |
PIX per Windows |
Una sostituzione per lo strumento PIX per Windows è ora una funzionalità in Microsoft Visual Studio, denominata Debugger grafica di Visual Studio. Questa funzionalità ha notevolmente migliorato l'usabilità, il supporto per Windows 8 e Direct3D 11.1 e l'integrazione con le funzionalità tradizionali di Microsoft Visual Studio, 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 11, Windows 10 e Windows 8.x. Le intestazioni e le librerie per XAudio2 sono disponibili in Windows SDK. Per il supporto di Windows 7, vedere XAudio2Redist. |
XInput per Windows |
L'API XInput 1.4 è ora un componente di sistema in Windows 11, Windows 10 e Windows 8.x. Le intestazioni e le librerie per XInput sono disponibili in Windows SDK.[! Nota] |
XNAMATH |
La versione più recente di XNAMATH, aggiornata per i nuovi set di istruzioni e ARM64, è ora DirectXMath. Le intestazioni per DirectXMath sono disponibili in Windows SDK 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 in Windows SDK. 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 di Windows Store. Lo strumento Game Definition File Maker (GDFMaker.exe) è incluso nella sottodirectory x86 nella cartella bin in Windows SDK e supporta le app di Windows Store e le applicazioni desktop Win32. |
Altri strumenti DirectX SDK |
È possibile trovare online vari strumenti come dxtex.exe, meshconvert.exe, texconv.exe e uvatlas.exe. Per altre informazioni su questi strumenti, vedere Catalogo strumenti DirectX SDK. |
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 di Visual Studio (Microsoft Visual Studio Professional 2012, Microsoft Visual Studio Ultimate 2012, Microsoft Visual Studio Professional 2013 o Microsoft Visual Studio Ultimate 2013) in Windows 7 e le versioni Windows 8 e versioni successive. A causa della transizione di intestazioni e librerie DirectX in Windows SDK, 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 di Visual Studio.
Questi passaggi si applicano anche ai propri progetti dipendenti dall'SDK DirectX.
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).
Assicurarsi di usare uno degli SKU premium di Visual Studio. Microsoft Visual Studio Express 2012 per Windows 8 o Microsoft Visual Studio Express 2013 per Windows non creerà applicazioni desktop Windows 8 e versioni successive, ad esempio gli esempi di DirectX SDK. Per installare uno degli SKU premium di Visual Studio, passare a: Download di Visual Studio e seguire le istruzioni.
Usare DirectX SDK Sample Browser per installare i file di progetto per l'esempio desiderato. Aprire il file di soluzione compatibile con Microsoft Visual Studio 2010 dell'esempio (suffisso con _2010).
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 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 al compilatore e alle librerie di Visual Studio 2012 o Visual Studio 2013 C++ 11 dopo aver caricato facendo clic con il pulsante destro del mouse sulla soluzione e scegliendo Aggiorna progetti VC++.
D3DX non è considerato l'API canonica per l'uso di Direct3D in Windows 8 e versioni successive e quindi non è inclusa con Windows SDK corrispondente. Esaminare le soluzioni alternative per l'uso dell'API Direct3D. Per i progetti legacy, ad esempio gli esempi di DirectX SDK di Windows 7 (e versioni precedenti), sono necessari i passaggi seguenti per creare applicazioni con D3DX usando DirectX SDK:
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 **Directory VC++** .
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
- Directory della libreria: $(LibraryPath);$(DXSDK_DIR)Lib\x64
iv. Fare clic su Applica.
v. Scegliere la piattaforma x64.
vi. Impostare la directory della libreria come indicato di seguito:Ovunque "d3dx9.h", "d3dx10.h" o "d3dx11.h" siano inclusi nel progetto, assicurarsi di includere in modo esplicito "d3d9.h", "d3d10.h" e "dxgi.h" o "d3d11.h" e "dxgi.h" per assicurarsi di raccogliere la versione più recente. È possibile disabilitare l'avviso C4005 se necessario; Tuttavia, questo avviso indica che si usa la versione precedente di queste intestazioni.
Rimuovere tutti i riferimenti a DXGIType.h nel progetto. Questa intestazione non esiste in Windows SDK e la versione directX SDK è in conflitto con il nuovo winerror.h.
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.
Tenere presente che le tecnologie sostitutive per gli usi correnti di D3DX11 includono DirectXTex, DirectXTK, DirectXMesh e UVAtlas. D3DXMath viene sostituito da DirectXMath.
Assicurarsi di usare la nuova versione del compilatore shader HLSL osservando le condizioni seguenti:
La modifica della directory eseguibile in base al passaggio 5 causerà l'uso delle compilazioni del progetto 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.
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.
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 sottocartella 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 da Windows SDK non è un componente di sistema e non deve essere copiato nella directory di sistema di Windows. È possibile ridistribuire questa DLL in altri computer con l'applicazione come DLL side-by-side.
Qualsiasi progetto che usa l'API XInput ed è destinato a essere eseguito 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 nella destinazione di Windows SDK solo la versione (1.4) che viene 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 con le versioni precedenti di Windows. La versione legacy di XInput non rileva funzionalità complete o supporta l'audio integrato dal controller, quindi se è necessario il supporto per queste funzionalità, è necessario usare la versione directX SDK (1.3).
Per usare l'API XInput a livello completo, è necessario
#include
specificare le intestazioni XInput specifiche di DirectX SDK direttamente:#include <%DXSDK_DIR%Include\xinput.h>
... e nelle opzioni del linker per dipendenze aggiuntive, collegare direttamente alla libreria XInput di DirectX SDK:
%DXSDK_DIR%Include\arch>\<xinput.lib
Il XINPUT1_3.DLL binario viene installato nelle directory di sistema di Windows dall'installazione di DirectX SDK nel computer di sviluppo. Sarà necessario ridistribuire questo file binario con l'applicazione usando l'installazione di DirectX Setup da DirectX SDK.
Qualsiasi progetto che usa l'API XAudio2 ed è destinato a 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'oggetto Windows SDK sono destinate solo alla versione (2.8) inclusa come parte di Windows 8.
Ad esempio, con XAudio2, è necessario
#include
specificare le intestazioni XAudio2 direttamente dall'SDK DirectX:#include <%DXSDK_DIR%Include\xaudio2.h>
... e nelle opzioni del linker per dipendenze aggiuntive, collegare direttamente alla libreria DirectX SDK XAudio2:
%DXSDK_DIR%Include\arch>\<xaudio2.lib
Il XAUDIO2_7.DLL binario viene installato nelle directory di sistema di Windows dall'installazione di DirectX SDK nel computer di sviluppo. È necessario ridistribuire queste librerie con l'applicazione usando l'installazione di DirectX Setup da DirectX SDK.
Se è stato usato DirectX SDK con versioni precedenti di Visual Studio, l'aggiornamento di Visual Studio 2010 potrebbe aver eseguito la migrazione del percorso 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 DXSDK_DIR. In alternativa, è possibile rimuovere l'intero <nodo PropertyGroup> che contiene le voci Percorso, <ad esempio EseguibilPath> e <IncludePath> , per ripristinare le impostazioni predefinite standard. Se non vengono visualizzati riferimenti a DXSDK_DIR in questi file, non sono necessarie modifiche.
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:
- Aprire Proprietà per il progetto e selezionare C/C++>Preprocessor.
- Selezionare Tutte le configurazioni e Tutte le piattaforme.
- Passare alla sezione Definizioni preprocessore e impostare _WIN32_WINNT=0x600.
- Fare clic su Applica.
Argomenti correlati
-
Giochi per Windows e DirectX SDK