Di mana DirectX SDK?

Dimulai dengan Windows 8, DirectX SDK disertakan sebagai bagian dari Windows SDK.

Kami awalnya membuat DirectX SDK sebagai platform berkinerja tinggi untuk pengembangan game di atas Windows. Ketika teknologi DirectX matang, teknologi tersebut menjadi relevan dengan berbagai aplikasi yang lebih luas. Saat ini, ketersediaan perangkat keras Direct3D di komputer mendorong bahkan aplikasi desktop tradisional untuk menggunakan akselerasi perangkat keras grafis. Secara paralel, teknologi DirectX lebih terintegrasi dengan Windows. DirectX sekarang menjadi bagian mendasar dari Windows.

Karena Windows SDK adalah SDK pengembang utama untuk Windows, DirectX sekarang disertakan di dalamnya. Anda sekarang dapat menggunakan Windows SDK untuk membangun permainan hebat untuk Windows. Untuk mengunduh SDK Windows 11, Windows 10 SDK, atau Windows 8.x SDK, lihat Windows SDK dan arsip emulator.

Teknologi dan alat berikut, sebelumnya bagian dari DirectX SDK, sekarang menjadi bagian dari Windows SDK.

Teknologi atau alat Deskripsi
Komponen Grafis Windows
Header dan pustaka untuk Direct3D dan API grafis Windows lainnya, seperti Direct2D, tersedia di Windows SDK.
[!Catatan]
Pustaka utilitas D3DX9/D3DX10/D3DX11 yang tidak digunakan lagi tersedia melalui NuGet, tetapi ada juga sejumlah alternatif sumber terbuka. Pustaka utilitas D3DCSX DirectCompute dan DLL yang dapat didistribusikan ulang tersedia di Windows SDK. D3DX12 tersedia di GitHub.

Pengkompilasi HLSL (FXC.EXE)
Pengkompilasi HLSL adalah alat dalam subdirektori arsitektur yang sesuai di bawah folder bin di Windows SDK.
[!Catatan]
D3DCompiler API dan DLL yang dapat didistribusikan ulang tersedia di Windows SDK.


Untuk pengembangan DirectX 12, gunakan DXCompiler di Windows SDK dan dihosting di GitHub.
PIX untuk Windows
Pengganti alat PIX untuk Windows sekarang menjadi fitur di Microsoft Visual Studio, yang disebut Visual Studio Graphics Debugger. Fitur ini telah sangat meningkatkan kegunaan, dukungan untuk Windows 8, dan Direct3D 11.1, dan integrasi dengan fitur Microsoft Visual Studio tradisional seperti tumpukan panggilan dan jendela debugging untuk penelusuran kesalahan HLSL. Untuk informasi selengkapnya tentang fitur baru ini, lihat Men-debug Grafik DirectX.

Untuk pengembangan DirectX 12, lihat generasi terbaru PIX di Windows
XAudio2 untuk Windows
API XAudio2 sekarang menjadi komponen sistem di Windows 11, Windows 10, dan Windows 8.x. Header dan pustaka untuk XAudio2 tersedia di Windows SDK. Untuk dukungan Windows 7, lihat XAudio2Redist.
XInput untuk Windows
API XInput 1.4 sekarang menjadi komponen sistem dalam Windows 11, Windows 10, dan Windows 8.x. Header dan pustaka untuk XInput tersedia di Windows SDK.
[!Catatan]
Warisan XInput 9.1.0 juga tersedia sebagai bagian dari Windows 7 atau yang lebih baru.

XNAMATH
Versi terbaru XNAMATH, yang diperbarui untuk set instruksi baru serta ARM/ARM64, sekarang menjadi DirectXMath. Header untuk DirectXMath tersedia di Windows SDK dan di GitHub.
Penampil Kemampuan DirectX Panel Kontrol dan DirectX
Utilitas DirectX Panel Kontrol dan DirectX Capabilities Viewer disertakan dalam subdirektori arsitektur yang sesuai di bawah folder bin di Windows SDK. Penampil Kemampuan DirectX juga tersedia di GitHub.
XACT
Xbox Audio Cross Platform Tool (XACT) tidak lagi didukung untuk digunakan di Windows.
Game Explorer dan GDFMAKER
Games Explorer API menyajikan game kepada pengguna Windows. Api Games Explorer hanya didukung pada Windows Vista dan Windows 7. Gunakan alat Pembuat File Definisi Game (GDFMAKER.EXE) untuk mendeklarasikan peringkat game untuk aplikasi Windows Store.
Alat Game Definition File Maker (GDFMaker.exe) disertakan dalam subdirektori x86 di bawah folder bin di Windows SDK, dan mendukung aplikasi Windows Store dan aplikasi desktop Win32.

Alat Directx SDK lainnya
Alat lain-lain seperti dxtex.exe, meshconvert.exe, texconv.exe, dan uvatlas.exe dapat ditemukan secara online. Untuk informasi selengkapnya tentang alat ini, lihat Katalog Alat DirectX SDK.
Sampel
Anda dapat menemukan aplikasi sampel yang menyoroti teknologi DirectX 12 di Windows di repositori sampel DirectX . Sebagian besar sampel untuk versi Direct3D yang lebih lama juga tersedia secara online. Untuk informasi selengkapnya tentang sampel ini, lihat Katalog Sampel DirectX SDK.
DirectX Terkelola 1.1
Rakitan .NET DirectX tidak digunakan lagi dan tidak disarankan untuk digunakan oleh aplikasi baru. Ada sejumlah alternatif yang tersedia. Lihat DirectX dan .NET.

 

DirectX SDK warisan tersedia untuk diunduh dari Pusat Unduhan Microsoft jika diperlukan, tetapi penggunaan untuk proyek baru tidak disarankan.

Catatan

DirectX SDK gagal diinstal jika Anda memiliki versi tertentu dari Paket Visual C++ 2010 Redistributable yang sudah diinstal. Untuk informasi selengkapnya tentang dan solusi untuk memperbaiki masalah ini, lihat kesalahan "S1023" saat Anda menginstal DirectX SDK (Juni 2010).

 

Menggunakan proyek DirectX SDK dengan Visual Studio

Sampel dari DirectX SDK Juni 2010 didukung dengan SKU Visual Studio premium (Microsoft Visual Studio Professional 2012, Microsoft Visual Studio Ultimate 2012, Microsoft Visual Studio Professional 2013, atau Microsoft Visual Studio Ultimate 2013) pada Windows 7 dan rilis Windows 8 dan yang lebih baru. Karena transisi header dan pustaka DirectX ke Windows SDK, perubahan pada pengaturan proyek diperlukan untuk membangun sampel ini dengan benar dengan cara SDK Windows 8 dan yang lebih baru dikemas dengan SKU Visual Studio premium.

Langkah-langkah ini juga berlaku untuk proyek Anda sendiri yang bergantung pada DirectX SDK.

  1. Pastikan bahwa rilis SDK DirectX DirectX Juni 2010 diinstal pada komputer pengembangan Anda. Jika Anda menginstal ke komputer yang berjalan Windows 8 dan yang lebih baru, Anda akan diminta dan diminta untuk mengaktifkan .NET 3.5 sebagai penginstalan prasyarat ke DirectX SDK.

    Catatan

    DirectX SDK gagal diinstal jika Anda memiliki versi tertentu dari Paket Visual C++ 2010 Redistributable yang sudah diinstal. Untuk informasi selengkapnya tentang dan solusi untuk memperbaiki masalah ini, lihat kesalahan "S1023" saat Anda menginstal DirectX SDK (Juni 2010).

     

  2. Pastikan Anda menggunakan salah satu SKU Visual Studio premium. Microsoft Visual Studio Express 2012 untuk Windows 8 atau Microsoft Visual Studio Express 2013 untuk Windows tidak akan membangun Windows 8 dan aplikasi desktop yang lebih baru seperti sampel DirectX SDK. Untuk menginstal salah satu SKU Visual Studio premium, buka: Unduhan Visual Studio dan ikuti instruksinya.

  3. Gunakan Browser Sampel DirectX SDK untuk menginstal file proyek untuk sampel yang diinginkan. Buka file solusi yang kompatibel dengan Microsoft Visual Studio 2010 sampel (diafiks dengan _2010).

  4. Jika Anda membuka sampel pada sistem yang hanya menginstal Microsoft Visual Studio 2012 atau Microsoft Visual Studio 2013, Anda mendapatkan pesan berikut: "Solusi ini berisi satu atau beberapa proyek menggunakan versi kompilator dan pustaka VC++ yang lebih lama. Setiap proyek dapat diperbarui untuk menggunakan pengkompilasi dan pustaka VC++ (v110)." Pilih opsi Perbarui dari kotak dialog ini untuk diperbarui sebelum Anda membuka proyek.

    Jika tidak, Anda dapat memperbarui ke kompilator dan pustaka Visual Studio 2012 atau Visual Studio 2013 C++ 11 setelah dimuat dengan mengklik kanan pada solusi dan memilih Perbarui proyek VC++.

  5. D3DX tidak dianggap sebagai API kanonis untuk menggunakan Direct3D di Windows 8 dan yang lebih baru dan karenanya tidak disertakan dengan Windows SDK yang sesuai. Selidiki solusi alternatif untuk bekerja dengan DIRECT3D API. Untuk proyek warisan, seperti sampel DirectX SDK Windows 7 (dan yang lebih lama), langkah-langkah berikut diperlukan untuk membangun aplikasi dengan D3DX menggunakan DirectX SDK:

    1. Ubah direktori VC++ proyek sebagai berikut untuk menggunakan urutan yang tepat untuk header dan pustaka SDK.

      i. Buka **Properti** untuk proyek dan pilih halaman **Direktori VC++**. ii. Pilih **Semua Konfigurasi dan Semua Platform**. iii. Atur direktori ini sebagai berikut:
      • Direktori yang Dapat Dieksekusi:< mewarisi dari default> induk atau proyek (Di drop-down sisi kanan)
      • Sertakan Direktori: $(IncludePath);$(DXSDK_DIR)Sertakan
      • Sertakan Direktori Pustaka: $(LibraryPath);$(DXSDK_DIR)Lib\x86

      iv. KlikTerapkan.
      v. Pilih Platform x64.
      Vi. Atur Direktori Pustaka sebagai berikut:

      • Direktori Pustaka: $(LibraryPath);$(DXSDK_DIR)Lib\x64
    2. Di mana pun "d3dx9.h", "d3dx10.h", atau "d3dx11.h" disertakan dalam proyek Anda, pastikan untuk secara eksplisit menyertakan "d3d9.h", "d3d10.h" dan "dxgi.h", atau "d3d11.h" dan "dxgi.h" terlebih dahulu untuk memastikan Anda mengambil versi yang lebih baru. Anda dapat menonaktifkan peringatan C4005 jika diperlukan; namun, peringatan ini menunjukkan bahwa Anda menggunakan versi header yang lebih lama.

    3. Hapus semua referensi ke DXGIType.h di proyek Anda. Header ini tidak ada di Windows SDK, dan versi DirectX SDK bertentangan dengan winerror.h baru.

    4. Semua DLL D3DX diinstal ke komputer pengembangan Anda oleh penginstalan DirectX SDK. Pastikan bahwa dependensi D3DX yang diperlukan didistribusikan ulang dengan sampel apa pun atau dengan aplikasi Anda jika dipindahkan ke komputer lain.

    5. Ketahuilah bahwa teknologi penggantian untuk penggunaan D3DX11 saat ini termasuk DirectXTex, DirectXTK, DirectXMesh, dan UVAtlas. D3DXMath digantikan oleh DirectXMath.

  6. Pastikan Anda menggunakan versi baru pengkompilasi shader HLSL dengan mengamati kondisi berikut:

    1. Mengubah direktori yang dapat dieksekusi sesuai langkah 5 akan menyebabkan build proyek menggunakan FXC dari penginstalan Windows SDK. Ketahuilah bahwa file HLSL sekarang secara resmi dikenali oleh Visual Studio. Anda dapat menambahkannya sebagai file proyek dan mengatur opsi pengkompilasi melalui sistem proyek.

    2. Memanggil kompilasi run-time melalui D3DX DLL warisan akan menggunakan versi kompiler HLSL yang salah. Ganti semua referensi ke API D3DXCompile*, D3DX10Compile*, dan D3DX11Compile* dalam kode Anda dengan fungsi D3DCompile di D3DCOMPILER_46.DLL atau D3DCOMPILER_47.DLL.

    3. Setiap proyek yang menggunakan kompilasi shader run-time harus memiliki D3DCOMPILER_xx.DLL disalin ke jalur yang dapat dieksekusi lokal untuk proyek. DLL ini tersedia di sub-direktori penginstalan Windows SDK di bawah %ProgramFiles(x86)%\Windows Kits\8.0\Redist\D3D\<arch> atau %ProgramFiles(x86)%\Windows Kits\8.1\Redist\D3D\<arch> dengan <arch>x86 dan x64.

      D3DCOMPILER_46.DLL atau D3DCOMPILER_47.DLL dari Windows SDK bukan komponen sistem dan tidak boleh disalin ke direktori sistem Windows. Anda dapat mendistribusikan ulang DLL ini ke komputer lain dengan aplikasi Anda sebagai DLL berdampingan.

  7. Setiap proyek yang menggunakan API XInput dan dimaksudkan untuk berjalan pada Windows 7 atau versi Windows yang lebih lama perlu menggunakan versi lama (9.1.0) atau harus secara eksplisit menyertakan header dan pustaka untuk komponen ini dari DirectX SDK. Header XInput dan XINPUT. LIB yang disertakan dalam Windows SDK hanya menargetkan versi (1.4) yang dikirim sebagai bagian dari Windows 8 dan yang lebih baru. Header yang sama dapat digunakan dengan XINPUT9_1_0.LIB untuk menggunakan versi lama, yang disertakan dengan versi Windows yang lebih lama. Versi warisan XInput tidak mendeteksi kemampuan penuh atau mendukung audio terintegrasi pengontrol, jadi jika dukungan untuk fitur-fitur ini diperlukan, Anda harus menggunakan versi DirectX SDK (1.3).

    Untuk menggunakan API XInput tingkat bawah berfungsi lengkap, Anda harus #include header XInput tertentu dari DirectX SDK secara langsung:

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

    ... dan di opsi linker Anda untuk Dependensi Tambahan, tautkan langsung ke pustaka DirectX SDK XInput:

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

    Biner XINPUT1_3.DLL diinstal ke direktori sistem Windows oleh penginstalan DirectX SDK di komputer pengembangan Anda. Anda harus mendistribusikan ulang biner ini dengan aplikasi Anda menggunakan penginstalan Penyiapan DirectX dari DirectX SDK.

  8. Setiap proyek yang menggunakan API XAudio2 dan dimaksudkan untuk berjalan pada Windows 7 atau versi Windows yang lebih lama perlu menggunakan versi lama (9.1.0) atau secara eksplisit menyertakan header dan pustaka untuk komponen ini dari DirectX SDK. Header dan pustaka XAudio2 yang disertakan dengan Windows SDK hanya menargetkan versi (2.8) yang disertakan sebagai bagian dari Windows 8.

    Misalnya, dengan XAudio2, Anda harus #include header XAudio2 tertentu dari DirectX SDK secara langsung:

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

    ... dan di opsi linker Anda untuk Dependensi Tambahan, tautkan langsung ke pustaka DirectX SDK XAudio2:

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

    Biner XAUDIO2_7.DLL diinstal ke direktori sistem Windows oleh penginstalan DirectX SDK di komputer pengembangan Anda. Anda perlu mendistribusikan ulang pustaka ini dengan aplikasi Anda menggunakan penginstalan Penyiapan DirectX dari DirectX SDK.

  9. Jika Anda telah menggunakan DirectX SDK dengan versi Visual Studio sebelumnya, peningkatan Visual Studio 2010 mungkin telah memigrasikan jalur DirectX SDK ke pengaturan proyek default Anda. Disarankan agar Anda menghapus pengaturan ini untuk mencegah kesalahan build di masa mendatang. Di direktori %USERPROFILE%\AppData\Local\Microsoft\MSBuild\v4.0 , ubah file Microsoft.Cpp.Win32.user dan Microsoft.Cpp.x64.user untuk menghapus semua referensi ke jalur DXSDK_DIR. Atau, Anda dapat menghapus seluruh <simpul PropertyGroup> yang berisi entri Jalur seperti <ExecutablePath> dan <IncludePath> untuk kembali ke default standar. Jika Anda tidak melihat referensi untuk DXSDK_DIR dalam file-file ini, tidak ada perubahan yang diperlukan.

  10. Jika aplikasi yang dihasilkan mendukung Windows Vista dengan Paket Layanan 2 (SP2) serta Windows 7 dan Windows 8 dan yang lebih baru, atur Definisi Preprocessor bernama _WIN32_WINNT ke 0x600. Jika hanya mendukung Windows 7 dan Windows 8 dan yang lebih baru, atur ke 0x601.

    Contohnya:

    1. Buka Properti untuk proyek dan pilih C/C++>Preprocessor.
    2. Pilih Semua Konfigurasi dan Semua Platform.
    3. Buka bagian Definisi Preprosektor dan atur _WIN32_WINNT=0x600.
    4. KlikTerapkan.

Game untuk Windows dan DirectX SDK

Di mana DirectX SDK (Edisi 2021)?

DirectX SDK dari usia tertentu

Hidup tanpa D3DX