Dove si trova DirectX SDK?
A partire da Windows 8, DirectX SDK è incluso come parte di Windows SDK.
Abbiamo originariamente creato DirectX SDK come piattaforma ad alte prestazioni per lo sviluppo di giochi su Windows. Man mano che le tecnologie DirectX sono maturate, sono diventate rilevanti per un'ampia gamma di applicazioni. Oggi, la disponibilità dell'hardware Direct3D nei computer consente anche alle applicazioni desktop tradizionali di usare l'accelerazione hardware grafica. In parallelo, le tecnologie DirectX sono più integrate con Windows. DirectX è ora una parte fondamentale di Windows.
Poiché Windows SDK è l'SDK per sviluppatori principale per Windows, DirectX è ora incluso in esso. È ora possibile usare Windows SDK per creare giochi eccezionali per Windows. Per scaricare Windows 11 SDK, Windows 10 SDK o Windows 8.x SDK, vedere Windows SDK e l'archivio 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 di Windows |
Le intestazioni e le librerie per Direct3D e altre API grafiche di Windows, ad esempio Direct2D, sono disponibili in Windows SDK. Nota: Le librerie di utilità D3DX9/D3DX10/D3DX11 deprecate sono disponibili tramite NuGet, ma esistono anche numerose alternative open source . La libreria di utilità D3DCSX DirectCompute e la DLL ridistribuibile sono disponibili in Windows SDK. D3DX12 è disponibile in GitHub. |
Compilatore HLSL (FXC.EXE) |
Il compilatore HLSL è uno strumento nella sottodirectory dell'architettura appropriata nella cartella "bin" dell'SDK di Windows. Nota: L'API D3DCompiler e la DLL ridistribuibile sono disponibili in Windows SDK. Per lo sviluppo di DirectX 12, usare DXCompiler in Windows SDK e ospitato in GitHub. |
PIX per Windows |
Un sostituto per lo strumento PIX per Windows è ora una funzionalità di Microsoft Visual Studio, denominata Debugger grafico 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 HLSL debug. Per altre informazioni su questa nuova funzionalità, vedi Debug della grafica DirectX. Per lo sviluppo di DirectX 12, vedi 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. Gli header e le librerie per XAudio2 sono disponibili nell'SDK di Windows. Per il supporto di Windows 7, vedi 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 nel Windows SDK. Nota: XInput legacy 9.1.0 è disponibile anche come parte di Windows 7 o versione successiva. |
XNAMATH |
La versione più recente di XNAMATH, aggiornata per i nuovi set di istruzioni e ARM/ARM64, è ora DirectXMath. I file header per DirectXMath sono disponibili nel Windows SDK e su GitHub. |
Pannello di controllo DirectX e Visualizzatore funzionalità DirectX |
Le utilità del Pannello di controllo DirectX e del Visualizzatore di funzionalità DirectX sono incluse nella sottodirectory dell'architettura appropriata nella cartella bin in Windows SDK. Il visualizzatore di funzionalità DirectX è disponibile anche in GitHub. |
XACT |
Lo strumento Xbox Audio MultiPiattaforma (XACT) non è più supportato per l'uso in Windows. |
Games Explorer e GDFMAKER |
L'API di Games Explorer presenta giochi agli utenti di Windows. L'API Games Explorer è supportata solo in Windows Vista e Windows 7. Usa 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 sia le app di Windows Store che le applicazioni desktop Win32. |
altri strumenti di DirectX SDK |
È possibile trovare online vari strumenti come dxtex.exe, meshconvert.exe, texconv.exee uvatlas.exe. Per altre informazioni su questi strumenti, vedere catalogo degli strumenti di DirectX SDK. |
Esempi di |
È possibile trovare applicazioni di esempio che evidenziano le 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 di esempi di DirectX SDK. |
Managed DirectX 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. |
DirectX SDK legacy è disponibile per il download da Area download Microsoft se necessario, ma non è consigliabile usare per i nuovi progetti.
Nota
DirectX SDK non viene installato se è già installata una determinata versione di Visual C++ 2010 Redistributable Package. Per altre informazioni su e una soluzione per risolvere questo problema, vedere 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 nelle versioni successive. A causa della transizione delle intestazioni e librerie DirectX nel Windows SDK, sono necessarie modifiche alle impostazioni del progetto. Queste modifiche sono necessarie per compilare correttamente questi esempi per come il Windows 8 SDK e le versioni successive vengono forniti con gli SKU premium di Visual Studio.
Questi passaggi si applicano anche ai propri progetti dipendenti da DirectX SDK.
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 prerequisita per DirectX SDK.
Nota
DirectX SDK non viene installato se è già installata una determinata versione di Visual C++ 2010 Redistributable Package. Per altre informazioni su e una soluzione per risolvere questo problema, vedere 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 di Windows 8 e versioni successive, ad esempio gli esempi di DirectX SDK. Per installare uno degli SKU di Visual Studio Premium, passare a: Visual Studio scarica 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 in cui è installato solo Microsoft Visual Studio 2012 o Microsoft Visual Studio 2013, viene visualizzato il messaggio seguente: "Questa soluzione contiene uno o più progetti che usano 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 eseguire l'aggiornamento 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 il caricamento facendo clic con il pulsante destro del mouse sulla soluzione e scegliendo Aggiornare i progetti VC++.
D3DX non è considerato l'API canonica per l'uso di Direct3D in Windows 8 e versioni successive e pertanto non è inclusa in 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 compilare applicazioni con D3DX usando DirectX SDK:
Modificare le directory del progetto di VC++ come indicato di seguito per usare l'ordine corretto per le intestazioni e le librerie dell'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: <ereditano dalle impostazioni predefinite dal padre o del progetto> (nel menu a tendina a destra)
- Directory di inclusione: $(IncludePath);$(DXSDK_DIR)Include
- Includi directory delle librerie: $(LibraryPath);$(DXSDK_DIR)Lib\x86
- Percorsi delle librerie: $(LibraryPath);$(DXSDK_DIR)Lib\x64
iv. Fare clic su Applica.
v. Scegliere la piattaforma x64 .
vi. Impostare il directory della libreria come indicato di seguito: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 la versione più recente. È possibile disabilitare avviso C4005 se necessario; tuttavia, questo avviso indica che si sta usando la versione precedente di questi header.
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.
Tutte le DLL D3DX vengono installate nel computer di sviluppo tramite l'installazione di DirectX SDK. Assicurati che le dipendenze D3DX necessarie siano ridistribuite insieme a qualsiasi sample o alla tua applicazione se viene spostata su un altro computer.
Tenere presente che le tecnologie di sostituzione per gli usi correnti di D3DX11 includono DirectXTex, DirectXTK, DirectXMeshe UVAtlas. D3DXMath viene sostituito da DirectXMath.
Assicurarsi di usare la nuova versione del compilatore shader HLSL osservando le condizioni seguenti:
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.
La chiamata alla 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 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 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 affiancata.
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. Le intestazioni XInput e XINPUT.LIB incluse in Windows SDK sono destinate solo alla versione (1.4) fornita come parte di Windows 8 e versioni successive. Lo stesso header può essere usato con XINPUT9_1_0.LIB per usare la versione legacy, inclusa nelle vecchie versioni 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, è necessario
#include
le intestazioni XInput specifiche direttamente da DirectX SDK:#include <%DXSDK_DIR%Include\xinput.h>
...e nelle opzioni del linker per le Dipendenze aggiuntive, collega direttamente alla libreria XInput del DirectX SDK:
%DXSDK_DIR%Include\<arch>\xinput.lib
Il file binario XINPUT1_3.DLL viene installato nelle directory di sistema di Windows dall'installazione di DirectX SDK nel computer di sviluppo. Sarà necessario ridistribuire questo binario con l'applicazione utilizzando l'installazione di DirectX dal DirectX SDK.
Qualsiasi progetto che usa l'API XAudio2 ed è destinato all'esecuzione 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 in Windows SDK sono destinate solo alla versione (2.8) inclusa in Windows 8.
Ad esempio, con XAudio2, è necessario
#include
le intestazioni XAudio2 specifiche direttamente da 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 di Windows dall'installazione di DirectX SDK nel computer di sviluppo. È necessario ridistribuire queste librerie con l'applicazione utilizzando il Setup di DirectX dal 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 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 DXSDK_DIR. In alternativa, è possibile rimuovere l'intero nodo> PropertyGroup <che contiene le voci Path, 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.
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 o Windows 8 o versioni successive, impostarlo su 0x601.
Per esempio:
- Aprire Proprietà per il progetto e selezionare C/C++>Preprocessore.
- Selezionare tutte le configurazioni e tutte le piattaforme.
- Passare alla sezione definizioni del preprocessore e impostare _WIN32_WINNT=0x600.
- Fare clic su Applica.
Argomenti correlati
-
Giochi per Windows e DirectX SDK