다음을 통해 공유


DirectX SDK 위치

Windows 8부터 DirectX SDK는 Windows SDK의 일부로 포함됩니다.

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

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

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

기술 또는 도구 설명
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 도구를 대체하는 기능은 이제 Visual Studio 그래픽 디버거라는 Microsoft Visual Studio의 기능입니다. 이 기능은 유용성, Windows 8 및 Direct3D 11.1 지원, HLSL 디버깅을 위한 호출 스택 및 디버깅 창과 같은 기존 Microsoft Visual Studio 기능과의 통합을 크게 개선했습니다. 이 새로운 기능에 대한 자세한 내용은 DirectX 그래픽 디버깅을 참조하세요.

DirectX 12 개발의 경우 Windows에서 최신 세대의 PIX를 참조하세요.
Windows용 XAudio2
XAudio2 API는 이제 Windows 11, Windows 10 및 Windows 8.x의 시스템 구성 요소입니다. XAudio2에 대한 헤더 및 라이브러리는 Windows SDK에서 사용할 수 있습니다. Windows 7 지원은 XAudio2Redist를 참조하세요.
Windows용 XInput
XInput 1.4 API는 이제 Windows 11, Windows 10 및 Windows 8.x의 시스템 구성 요소입니다. 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
Xbox 오디오 플랫폼 간 도구(XACT)는 더 이상 Windows에서 사용할 수 없습니다.
게임 Explorer 및 GDFMAKER
게임 Explorer API는 Windows 사용자에게 게임을 제공합니다. 게임 Explorer API는 Windows Vista 및 Windows 7에서만 지원됩니다. 게임 정의 파일 메이커 도구(GDFMAKER.EXE)를 사용하여 Windows 스토어 앱에 대한 게임 등급을 선언합니다.
게임 정의 파일 메이커 도구(GDFMaker.exe)는 Windows SDK의 bin 폴더 아래에 있는 x86 하위 디렉터리에 포함되어 있으며 Windows 스토어 앱과 Win32 데스크톱 애플리케이션을 모두 지원합니다.

기타 DirectX SDK 도구
dxtex.exe, meshconvert.exe, texconv.exe 및 uvatlas.exe 같은 기타 도구는 온라인으로 찾을 수 있습니다. 이러한 도구에 대한 자세한 내용은 DirectX SDK 도구 카탈로그를 참조하세요.
샘플
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에서 지원됩니다. Windows 7 및 Windows 8 이상 릴리스의 2013 또는 Microsoft Visual Studio Ultimate 2013). 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 중 하나를 사용하고 있는지 확인합니다. windows 8용 Microsoft Visual Studio Express 2012 또는 Windows용 Microsoft Visual Studio Express 2013은 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. 결과 앱이 Windows 7 및 Windows 8 이상뿐만 아니라 SP2(서비스 팩 2)와 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 없이 생활