DirectX SDK 위치

Windows 8 시작해서 DirectX SDK는 Windows SDK의 일부로 포함됩니다.

원래 DirectX SDK를 Windows 위에 게임 개발을 위한 고성능 플랫폼으로 만들었습니다. DirectX 기술이 발전함에 따라 더 광범위한 애플리케이션과 관련이 있습니다. 현재 컴퓨터에서 Direct3D 하드웨어를 사용할 수 있으므로 기존 데스크톱 애플리케이션에서도 그래픽 하드웨어 가속을 사용합니다. DirectX 기술은 병렬로 Windows 통합됩니다. DirectX는 이제 Windows 기본적인 부분입니다.

Windows SDK는 Windows 대한 기본 개발자 SDK이므로 이제 DirectX가 포함됩니다. 이제 Windows SDK를 사용하여 Windows 위한 훌륭한 게임을 빌드할 수 있습니다. Windows 8.x SDK 또는 Windows 10 SDK를 다운로드하려면 Windows SDK 및 에뮬레이터 보관 파일을 참조하세요.

이전 DirectX SDK의 일부였던 다음 기술과 도구는 이제 Windows SDK의 일부입니다.

기술 또는 도구 Description
그래픽 구성 요소 Windows
Direct3DDirect2D와 같은 기타 Windows 그래픽 API에 대한 헤더 및 라이브러리는 Windows SDK에서 사용할 수 있습니다.
[! 참고]
사용되지 않는 D3DX9/D3DX10/D3DX11 유틸리티 라이브러리는 NuGet 통해 사용할 수 있지만 다양한 오픈 소스 대안도 있습니다. D3DCSX DirectCompute 유틸리티 라이브러리 및 재배포 가능 DLL은 Windows SDK에서 사용할 수 있습니다. D3DX12는 GitHub 사용할 수 있습니다.

HLSL 컴파일러(FXC.EXE)
HLSL 컴파일러는 Windows SDK의 bin 폴더 아래에 있는 적절한 아키텍처 하위 디렉터리의 도구입니다.
[! 참고]
D3DCompiler API 및 재배포 가능 DLL은 Windows SDK에서 사용할 수 있습니다.


DirectX 12 개발의 경우 Windows SDK에서 DXCompiler를 사용하고 GitHub 호스팅합니다.
Windows PIX
이제 Windows 도구용 PIX를 대체하는 기능이 Microsoft Visual Studio Visual Studio 그래픽 디버거라고 합니다. 이 기능은 유용성, Windows 8 지원 및 Direct3D 11.1을 크게 개선했으며, HLSL 디버깅을 위한 호출 스택 및 디버깅 창과 같은 기존 Microsoft Visual Studio 기능과의 통합을 지원합니다. 이 새로운 기능에 대한 자세한 내용은 DirectX 그래픽 디버깅을 참조하세요.

DirectX 12 개발의 경우 Windows 최신 세대의 PIX를 참조하세요.
Windows XAudio2
XAudio2 API는 이제 Windows 8.x 및 Windows 10 시스템 구성 요소입니다. XAudio2에 대한 헤더 및 라이브러리는 Windows SDK에서 사용할 수 있습니다. Windows 7 지원은 XAudio2Redist를 참조하세요.
Windows 대한 XInput
XInput 1.4 API는 이제 Windows 8.x 및 Windows 10 시스템 구성 요소입니다. XInput에 대한 헤더 및 라이브러리는 Windows SDK에서 사용할 수 있습니다.
[! 참고]
레거시 XInput 9.1.0은 Windows 7 이상의 일부로도 사용할 수 있습니다.

XNAMATH
ARM/ARM64뿐만 아니라 새 명령 집합에 대해 업데이트된 최신 버전의 XNAMATH는 이제 DirectXMath입니다. DirectXMath의 헤더는 Windows SDK 및 GitHub 사용할 수 있습니다.
DirectX 제어판 및 DirectX 기능 뷰어
DirectX 제어판 및 DirectX 기능 뷰어 유틸리티는 Windows SDK의 bin 폴더 아래에 있는 적절한 아키텍처 하위 디렉터리에 포함됩니다. DirectX 기능 뷰어는 GitHub 사용할 수도 있습니다.
XACT
XACT(Xbox 오디오 플랫폼 간 도구)는 더 이상 Windows 사용할 수 없습니다.
게임 탐색기 및 GDFMAKER
게임 탐색기 API는 Windows 사용자에게 게임을 제공합니다. 게임 탐색기 API는 Windows Vista 및 Windows 7에서만 지원됩니다. 게임 정의 파일 메이커 도구(GDFMAKER.EXE)를 사용하여 Windows Microsoft Store 앱에 대한 게임 등급을 선언합니다.
게임 정의 파일 작성기 도구(GDFMaker.exe)는 Windows SDK의 bin 폴더 아래에 있는 x86 하위 디렉터리에 포함되며 Windows Microsoft Store 앱과 Win32 데스크톱 응용 프로그램을 모두 지원합니다.

샘플
DirectX 샘플 리포지토리의 Windows DirectX 12 기술을 강조 표시하는 샘플 애플리케이션을 찾을 수 있습니다. 이전 버전의 Direct3D에 대한 대부분의 샘플도 온라인으로 사용할 수 있습니다. 이러한 샘플에 대한 자세한 내용은 DirectX SDK 샘플 카탈로그를 참조하세요.
관리되는 DirectX 1.1
.NET DirectX 어셈블리는 더 이상 사용되지 않으며 새 애플리케이션에서 사용하지 않는 것이 좋습니다. 사용할 수 있는 여러 가지 대안이 있습니다. DirectX 및 .NET을 참조하세요.

 

레거시 DirectX SDK는 필요한 경우 Microsoft 다운로드 센터에서 다운로드할 수 있지만 새 프로젝트에는 사용하지 않는 것이 좋습니다.

참고

특정 버전의 Visual C++ 2010 재배포 가능 패키지가 이미 설치된 경우 DirectX SDK가 설치되지 않습니다. 이 문제를 해결하는 방법에 대한 자세한 내용과 해결 방법은 DirectX SDK를 설치할 때 발생하는 "S1023" 오류(2010년 6월)를 참조하세요.

 

Visual Studio DirectX SDK 프로젝트 사용

2010년 6월 DirectX SDK의 샘플은 프리미엄 Visual Studio SKU(Microsoft Visual Studio Professional 2012, Microsoft Visual Studio Ultimate 2012에서 지원됩니다. Microsoft Visual Studio Professional 2013 또는 Microsoft Visual Studio Ultimate 2013) Windows 7 및 Windows 8 이상 릴리스. DirectX 헤더 및 라이브러리를 Windows SDK로 전환하기 때문에 Windows 8 SDK 이상이 프리미엄 Visual Studio SKU로 패키지되는 방식으로 이러한 샘플을 올바르게 빌드하려면 프로젝트 설정 변경이 필요합니다.

이러한 단계는 DirectX SDK에 종속된 사용자 고유의 프로젝트에도 적용됩니다.

  1. DirectX SDK의 2010년 6월 릴리스가 개발 컴퓨터에 설치되어 있는지 확인합니다. Windows 8 이상을 실행하는 컴퓨터에 설치하는 경우 DirectX SDK에 필수 구성 요소로 .NET 3.5를 사용하도록 설정하라는 메시지가 표시되고 필요합니다.

    참고

    특정 버전의 Visual C++ 2010 재배포 가능 패키지가 이미 설치된 경우 DirectX SDK가 설치되지 않습니다. 이 문제를 해결하는 방법에 대한 자세한 내용과 해결 방법은 DirectX SDK를 설치할 때 발생하는 "S1023" 오류(2010년 6월)를 참조하세요.

     

  2. 프리미엄 Visual Studio SKU 중 하나를 사용하고 있는지 확인합니다. Microsoft Visual Studio Express 2012 for Windows 8 또는 Microsoft Visual Studio Express 2013 for Windows DirectX SDK 샘플과 같은 Windows 8 이상 데스크톱 애플리케이션을 빌드하지 않습니다. 프리미엄 Visual Studio SKU 중 하나를 설치하려면 다운로드 Visual Studio 지침에 따릅니다.

  3. DirectX SDK 샘플 브라우저를 사용하여 원하는 샘플에 대한 프로젝트 파일을 설치합니다. 샘플의 Microsoft Visual Studio 2010 호환 솔루션 파일(_2010 접미사)을 엽니다.

  4. Microsoft Visual Studio 2012 또는 Microsoft Visual Studio 2013만 설치된 시스템에서 샘플을 여는 경우 다음과 같은 메시지가 표시됩니다. "이 솔루션에는 이전 버전의 VC++ 컴파일러 및 라이브러리를 사용하는 하나 이상의 프로젝트가 포함되어 있습니다. 각 프로젝트는 VC++ 컴파일러 및 라이브러리(v110)를 사용하도록 업데이트할 수 있습니다." 프로젝트를 열기 전에 업데이트하려면 이 대화 상자에서 업데이트 옵션을 선택합니다.

    그렇지 않으면 솔루션을 마우스 오른쪽 단추로 클릭하고 업데이트 VC++ 프로젝트를 선택하여 로드한 후 Visual Studio 2012 또는 Visual Studio 2013 C++ 11 컴파일러 및 라이브러리로 업데이트할 수 있습니다.

  5. D3DX는 Windows 8 이상에서 Direct3D를 사용하기 위한 정식 API로 간주되지 않으므로 해당 Windows SDK에 포함되지 않습니다. Direct3D API를 사용하기 위한 대체 솔루션을 조사합니다. Windows 7 이하의 DirectX SDK 샘플과 같은 레거시 프로젝트의 경우 DirectX SDK를 사용하여 D3DX로 애플리케이션을 빌드하려면 다음 단계가 필요합니다.

    1. 프로젝트의 VC++ 디렉터리를 다음과 같이 수정하여 SDK 헤더 및 라이브러리에 적합한 순서를 사용합니다.

      i. 프로젝트의 **속성**을 열고 **VC++ 디렉터리** 페이지를 선택합니다. ii. **모든 구성 및 모든 플랫폼**을 선택합니다. iii. 이러한 디렉터리를 다음과 같이 설정합니다.
      • 실행 가능한 디렉터리: <부모 또는 프로젝트 기본값에서 상속(> 오른쪽 드롭다운)
      • 포함 디렉터리: $(IncludePath);$(DXSDK_DIR)Include
      • 라이브러리 디렉터리 포함: $(LibraryPath);$(DXSDK_DIR)Lib\x86

      iv. 적용을 클릭합니다.
      v. x64 플랫폼을 선택합니다.
      vi. 다음과 같이 라이브러리 디렉터리를 설정합니다.

      • 라이브러리 디렉터리: $(LibraryPath);$(DXSDK_DIR)Lib\x64
    2. 프로젝트에 "d3dx9.h", "d3dx10.h" 또는 "d3dx11.h"가 포함되어 있는 경우 먼저 "d3d9.h", "d3d10.h" 및 "dxgi.h" 또는 "d3d11.h" 및 "dxgi.h"를 명시적으로 포함해야 합니다. 필요한 경우 경고 C4005 를 사용하지 않도록 설정할 수 있습니다. 그러나 이 경고는 이전 버전의 이러한 헤더를 사용하고 있음을 나타냅니다.

    3. 프로젝트에서 DXGIType.h에 대한 모든 참조를 제거합니다. 이 헤더는 Windows SDK에 존재하지 않으며 DirectX SDK 버전이 새 winerror.h와 충돌합니다.

    4. 모든 D3DX DLL은 DirectX SDK 설치를 통해 개발 컴퓨터에 설치됩니다. 필요한 D3DX 종속성이 다른 컴퓨터로 이동된 경우 샘플 또는 애플리케이션과 함께 재배포되는지 확인합니다.

    5. D3DX11의 현재 사용에 대한 대체 기술에는 DirectXTex, DirectXTK, DirectXMeshUVAtlas가 포함됩니다. D3DXMath는 DirectXMath로 대체됩니다.

  6. 다음 조건을 관찰하여 새 버전의 HLSL 셰이더 컴파일러를 사용하고 있는지 확인합니다.

    1. 5단계에 따라 실행 파일 디렉터리를 변경하면 프로젝트 빌드에서 Windows SDK 설치에서 FXC를 사용합니다. 이제 HLSL 파일이 Visual Studio 공식적으로 인식됩니다. 프로젝트 파일로 추가하고 프로젝트 시스템을 통해 컴파일러 옵션을 설정할 수 있습니다.

    2. 레거시 D3DX DLL을 통해 런타임 컴파일을 호출하면 잘못된 이전 버전의 HLSL 컴파일러가 사용합니다. 코드의 D3DXCompile*, D3DX10Compile*, D3DX11Compile* API에 대한 모든 참조를 D3DCOMPILER_46.DLL 또는 D3DCOMPILER_47.DLL D3DCompile 함수로 바꿉니다.

    3. 런타임 셰이더 컴파일을 사용하는 모든 프로젝트에는 프로젝트의 로컬 실행 경로에 복사된 D3DCOMPILER_xx.DLL 있어야 합니다. 이 DLL은 %ProgramFiles(x86)%\Windows Kits\8.0\Redist\D3D\<arch> 또는 %ProgramFiles(x86)%\Windows Kits\8.1\Redist\D3D\<arch> 아래의 Windows SDK 설치 하위 디렉터리에서 사용할 수 있습니다. 여기서 <arch>x86x64입니다.

      Windows SDK의 D3DCOMPILER_46.DLL 또는 D3DCOMPILER_47.DLL 시스템 구성 요소가 아니며 Windows 시스템 디렉터리에 복사해서는 안 됩니다. 애플리케이션을 병렬 DLL로 사용하여 이 DLL을 다른 컴퓨터에 재배포할 수 있습니다.

  7. XInput API를 사용하고 Windows 7 또는 이전 버전의 Windows 실행하려는 모든 프로젝트는 레거시 버전(9.1.0)을 사용해야 하거나 DirectX SDK에서 이 구성 요소에 대한 헤더 및 라이브러리를 명시적으로 포함해야 합니다. XInput 헤더 및 XINPUT입니다. Windows SDK에 포함된 LIB는 Windows 8 이상 버전(1.4)만 대상으로 합니다. XINPUT9_1_0.LIB와 동일한 헤더를 사용하여 이전 버전의 Windows 포함된 레거시 버전을 사용할 수 있습니다. 레거시 버전의 XInput은 전체 기능을 검색하거나 컨트롤러 통합 오디오를 지원하지 않으므로 이러한 기능에 대한 지원이 필요한 경우 DirectX SDK 버전(1.3)을 사용해야 합니다.

    전체 기능을 갖춘 하위 수준 XInput API를 사용하려면 DirectX SDK의 특정 XInput 헤더를 직접 사용해야 합니다 #include .

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

    ... 추가 종속성에 대한 링커 옵션에서 DirectX SDK XInput 라이브러리에 직접 연결합니다.

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

    XINPUT1_3.DLL 이진 파일은 개발 컴퓨터에 DirectX SDK를 설치하여 Windows 시스템 디렉터리에 설치됩니다. DirectX SDK의 DirectX 설치 설치를 사용하여 애플리케이션과 이 이진 파일을 재배포해야 합니다.

  8. XAudio2 API를 사용하고 Windows 7 또는 이전 버전의 Windows 실행하려는 모든 프로젝트는 이전 버전(9.1.0)을 사용하거나 DirectX SDK에서 이 구성 요소에 대한 헤더 및 라이브러리를 명시적으로 포함해야 합니다. Windows SDK에 포함된 XAudio2 헤더 및 라이브러리는 Windows 8 일부로 포함된 버전(2.8)만 대상으로 합니다.

    예를 들어 XAudio2를 사용하면 DirectX SDK에서 직접 특정 XAudio2 헤더를 사용해야 합니다 #include .

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

    ... 추가 종속성에 대한 링커 옵션에서 DirectX SDK XAudio2 라이브러리에 직접 연결합니다.

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

    XAUDIO2_7.DLL 이진 파일은 개발 컴퓨터에 DirectX SDK를 설치하여 Windows 시스템 디렉터리에 설치됩니다. DirectX SDK에서 DirectX 설치 설치를 사용하여 애플리케이션과 이러한 라이브러리를 재배포해야 합니다.

  9. 이전 버전의 Visual Studio DirectX SDK를 사용한 경우 Visual Studio 2010 업그레이드에서 DirectX SDK 경로를 기본 프로젝트 설정으로 마이그레이션했을 수 있습니다. 향후 빌드 오류를 방지하려면 이러한 설정을 제거하는 것이 좋습니다. %USERPROFILE%\AppData\Local\Microsoft\MSBuild\v4.0 디렉터리에서 Microsoft.Cpp.Win32.userMicrosoft.Cpp.x64.user 파일을 수정하여 DXSDK_DIR 경로에 대한 모든 참조를 제거합니다. 또는 ExecutablePath 및 IncludePath와 같은 경로 항목이 포함된 전체 <PropertyGroup> 노드를 제거하여 표준 기본값으로 <되돌릴 수 있습니다.<>> 이러한 파일에 DXSDK_DIR 대한 참조가 표시되지 않으면 변경할 필요가 없습니다.

  10. 결과 앱이 sp2(서비스 팩 2)와 Windows 7 Windows 8 이상에서 Windows Vista를 지원하는 경우 _WIN32_WINNT 전처리기 정의를 0x600 설정합니다. Windows 7 및 Windows 8 이상만 지원하는 경우 0x601 설정합니다.

    예를 들면 다음과 같습니다.

    1. 프로젝트의 속성을 열고 C/C++>전처리기를 선택합니다.
    2. 모든 구성모든 플랫폼을 선택합니다.
    3. 전처리기 정의 섹션으로 이동하여 _WIN32_WINNT=0x600 설정합니다.
    4. 적용을 클릭합니다.

Windows 및 DirectX SDK용 게임

DirectX SDK(2021 버전)는 어디에 있나요?

특정 기간의 DirectX SDK

D3DX 없이 생활