Add comprehensive DirectX SDK download and installation guide

Added: DIRECTX_SDK_DOWNLOAD_GUIDE.md (10KB)

Content:
- DirectX 9 SDK download links (June 2010)
- DirectX 12 / Windows SDK download links
- Step-by-step installation instructions
- Known issues and solutions (S1023 error, etc.)
- Visual Studio project configuration
- Redistribution packages
- Development tools (PIX, RenderDoc)
- FAQ and troubleshooting
- Quick setup checklists

Key Information:
- DX9: Microsoft DirectX SDK June 2010 (572 MB)
  * Download: https://www.microsoft.com/en-us/download/details.aspx?id=6812
  * Includes: d3d9.lib, d3dx9.lib, headers
  * Requires: Separate redistribution package

- DX12: Windows 10/11 SDK (integrated with Visual Studio)
  * Download: https://developer.microsoft.com/en-us/windows/downloads/windows-sdk/
  * Includes: d3d12.lib, dxgi.lib, built into Windows 10+
  * No redistribution needed

Additional Resources:
- Helper header: d3dx12.h (GitHub)
- Debug tools: PIX for Windows, RenderDoc
- Tutorials and documentation links

This guide enables developers to quickly set up the development environment
for both dx9 and dx12 branches.
This commit is contained in:
2025-12-01 10:32:35 +09:00
parent fa4459533c
commit a7832afc48

View File

@@ -0,0 +1,571 @@
# DirectX SDK 다운로드 및 설치 가이드
## 📦 필요한 SDK 목록
이 프로젝트는 다음 DirectX SDK가 필요합니다:
- **DirectX 9 SDK** (dx9 브랜치용)
- **DirectX 12** (dx12 브랜치용 - Windows SDK에 포함)
---
## 1. DirectX 9 SDK (dx9 브랜치)
### 📥 다운로드
#### 공식 Microsoft 다운로드
**DirectX SDK (June 2010)** - 마지막 독립 실행형 DirectX SDK
**다운로드 링크**:
- 🔗 **공식**: https://www.microsoft.com/en-us/download/details.aspx?id=6812
- 📦 **파일명**: `DXSDK_Jun10.exe`
- 💾 **크기**: 약 572 MB
#### 대체 다운로드 소스
만약 위 링크가 작동하지 않는 경우:
1. **Internet Archive (Wayback Machine)**
- https://archive.org/search.php?query=DirectX%20SDK%20June%202010
2. **Softpedia**
- https://www.softpedia.com/get/Programming/SDK-DDK/Microsoft-DirectX-SDK.shtml
3. **국내 미러 사이트** (비공식)
- 주의: 공식 소스 사용 권장
### 🔧 설치 방법
1. **설치 파일 실행**
```
DXSDK_Jun10.exe
```
2. **기본 설치 경로**
```
C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\
```
3. **설치 후 디렉토리 구조**
```
Microsoft DirectX SDK (June 2010)/
├── Include/ ← 헤더 파일 (d3d9.h, d3dx9.h 등)
├── Lib/
│ ├── x86/ ← 32비트 라이브러리
│ └── x64/ ← 64비트 라이브러리
├── Utilities/
└── Documentation/
```
### ⚠️ 알려진 설치 문제
#### Error S1023 해결방법
DirectX SDK June 2010 설치 시 `S1023` 에러가 발생하는 경우:
**원인**: Visual C++ 2010 재배포 패키지 충돌
**해결 방법**:
1. **제어판** → **프로그램 제거**
2. 다음 항목 제거:
- Microsoft Visual C++ 2010 x86 Redistributable
- Microsoft Visual C++ 2010 x64 Redistributable
3. DirectX SDK 재설치
4. Visual C++ 2010 재설치 (필요시)
**PowerShell로 자동 해결** (관리자 권한):
```powershell
# VC++ 2010 제거
wmic product where "name like 'Microsoft Visual C++ 2010%'" call uninstall
# DirectX SDK 설치
Start-Process "DXSDK_Jun10.exe" -Wait
# VC++ 2010 재설치
# https://www.microsoft.com/en-us/download/details.aspx?id=26999
```
### 🛠️ Visual Studio 프로젝트 설정
#### 방법 1: 환경 변수 설정 (권장)
**시스템 환경 변수 추가**:
```
DXSDK_DIR = C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\
```
**프로젝트 설정**:
```xml
<!-- vcxproj 파일 -->
<AdditionalIncludeDirectories>$(DXSDK_DIR)Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalLibraryDirectories>$(DXSDK_DIR)Lib\x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
```
#### 방법 2: 직접 경로 지정
**Visual Studio에서**:
1. 프로젝트 속성 → C/C++ → 일반 → 추가 포함 디렉터리
```
C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Include
```
2. 링커 → 일반 → 추가 라이브러리 디렉터리
```
C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Lib\x86
```
3. 링커 → 입력 → 추가 종속성
```
d3d9.lib
d3dx9.lib
dxerr.lib
dxguid.lib
```
### 📚 포함된 주요 파일
**헤더 파일**:
- `d3d9.h` - Direct3D 9 코어
- `d3dx9.h` - D3DX 유틸리티 함수
- `d3dx9math.h` - 수학 함수
- `d3dx9tex.h` - 텍스처 함수
- `d3dx9core.h` - 코어 유틸리티
**라이브러리**:
- `d3d9.lib` - Direct3D 9 런타임
- `d3dx9.lib` - D3DX 유틸리티 (Release)
- `d3dx9d.lib` - D3DX 유틸리티 (Debug)
- `dxerr.lib` - 에러 메시지 헬퍼
- `dxguid.lib` - GUID 정의
**DLL (재배포 필요)**:
- `d3d9.dll` - 시스템에 기본 포함
- `d3dx9_43.dll` - 별도 배포 필요 (June 2010 버전)
---
## 2. DirectX 12 (dx12 브랜치)
### 📥 다운로드
DirectX 12는 **Windows 10 SDK**에 포함되어 있습니다. 별도 SDK 불필요!
#### Windows 10/11 SDK 다운로드
**최신 버전**:
- 🔗 **공식**: https://developer.microsoft.com/en-us/windows/downloads/windows-sdk/
- 📦 **온라인 설치**: `winsdksetup.exe`
- 📦 **오프라인 ISO**: 사용 가능 (약 1-2 GB)
**권장 버전**:
- **최소**: Windows 10 SDK (10.0.17763.0) - Version 1809
- **권장**: Windows 11 SDK (10.0.22621.0) - 최신
- **DX12 Ultimate**: Windows 10 SDK (10.0.19041.0) - Version 2004+
#### 특정 버전 다운로드
**SDK Archive**:
- https://developer.microsoft.com/en-us/windows/downloads/sdk-archive/
**다운로드 예시**:
```
Windows 10 SDK (10.0.19041.0) ← 2020년 5월, DX12 Ultimate 지원
Windows 10 SDK (10.0.22000.0) ← Windows 11 SDK
Windows 11 SDK (10.0.22621.0) ← 최신
```
### 🔧 설치 방법
1. **설치 파일 실행**
```
winsdksetup.exe
```
2. **설치 옵션 선택**
필수 구성 요소만 선택하여 설치 시간 단축:
```
✅ Windows SDK Signing Tools for Desktop Apps
✅ Windows SDK for UWP C++ Apps
✅ Windows SDK for Desktop C++ x86 Apps
✅ Windows SDK for Desktop C++ x64 Apps
✅ Debugging Tools for Windows
❌ .NET Framework (불필요)
❌ Windows Performance Toolkit (선택)
❌ MSI Tools (불필요)
```
3. **기본 설치 경로**
```
C:\Program Files (x86)\Windows Kits\10\
```
4. **설치 후 디렉토리 구조**
```
Windows Kits\10\
├── Include\
│ └── 10.0.xxxxx.0\
│ ├── um\ ← d3d12.h, dxgi1_6.h
│ └── shared\ ← 공유 헤더
├── Lib\
│ └── 10.0.xxxxx.0\
│ ├── um\x86\ ← 32비트 라이브러리
│ └── um\x64\ ← 64비트 라이브러리
└── Redist\
└── D3D\ ← 재배포 DLL
```
### 🛠️ Visual Studio 프로젝트 설정
#### Windows SDK는 Visual Studio 2019/2022에 자동 통합됩니다!
**프로젝트 설정 확인**:
1. 프로젝트 속성 → 일반
```
Windows SDK 버전: 10.0 (최신 설치된 버전)
```
2. 플랫폼 도구 집합
```
Visual Studio 2019 (v142) 또는
Visual Studio 2022 (v143)
```
#### 수동 설정 (필요시)
**vcxproj 파일**:
```xml
<PropertyGroup>
<WindowsTargetPlatformVersion>10.0.19041.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<ItemDefinitionGroup>
<Link>
<AdditionalDependencies>
d3d12.lib;
dxgi.lib;
dxguid.lib;
d3dcompiler.lib;
%(AdditionalDependencies)
</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
```
### 📚 포함된 주요 파일
**헤더 파일**:
- `d3d12.h` - Direct3D 12 코어
- `dxgi1_6.h` - DXGI 1.6 (스왑체인, 어댑터)
- `d3d12sdklayers.h` - 디버그 레이어
- `d3dcompiler.h` - 셰이더 컴파일러
- `DirectXMath.h` - 수학 라이브러리
**라이브러리**:
- `d3d12.lib` - Direct3D 12 런타임
- `dxgi.lib` - DXGI
- `d3dcompiler.lib` - 셰이더 컴파일러
- `dxguid.lib` - GUID 정의
**DLL (시스템 포함)**:
- `d3d12.dll` - Windows 10에 기본 포함
- `dxgi.dll` - Windows 10에 기본 포함
### 🔨 추가 도구
#### d3dx12.h (헬퍼 헤더)
DX12는 `d3dx12.h`를 별도 제공하지 않습니다. Microsoft 샘플에서 가져와야 합니다.
**다운로드**:
```
https://github.com/microsoft/DirectX-Graphics-Samples/blob/master/Libraries/D3DX12/d3dx12.h
```
**또는 프로젝트에 직접 추가**:
```cpp
// d3dx12.h - Helper structures and functions
// 프로젝트 Include 폴더에 복사
```
**사용 예시**:
```cpp
#include <d3d12.h>
#include "d3dx12.h" // 헬퍼 함수
CD3DX12_HEAP_PROPERTIES heapProps(D3D12_HEAP_TYPE_DEFAULT);
CD3DX12_RESOURCE_DESC texDesc = CD3DX12_RESOURCE_DESC::Tex2D(...);
```
#### DirectX Shader Compiler (DXC)
HLSL 6.0+ 셰이더 컴파일용 (선택사항, 고급 기능)
**다운로드**:
- 🔗 https://github.com/microsoft/DirectXShaderCompiler/releases
- 📦 `dxc_<version>.zip`
**포함 파일**:
- `dxc.exe` - 커맨드라인 컴파일러
- `dxcompiler.dll` - 런타임 컴파일러
- `dxil.dll` - DXIL 서명
---
## 3. 개발 도구
### PIX for Windows (GPU 디버거)
**다운로드**:
- 🔗 https://devblogs.microsoft.com/pix/download/
- 📦 Windows Store에서도 다운로드 가능
**기능**:
- GPU 타이밍 분석
- 프레임 캡처
- 셰이더 디버깅
- 리소스 상태 추적
### RenderDoc (대체 디버거)
**다운로드**:
- 🔗 https://renderdoc.org/builds
- 📦 크로스 플랫폼 (Windows, Linux)
**기능**:
- 프레임 캡처
- 텍스처 뷰어
- 파이프라인 상태 검사
- 무료 오픈소스
### Visual Studio Graphics Debugger
**설치**:
- Visual Studio 설치 시 "게임 개발 (C++)" 워크로드 선택
- 자동으로 포함됨
**사용법**:
- 디버그 → 그래픽 → 진단 시작
- 프레임 캡처 (Print Screen)
---
## 4. 재배포 패키지
### DirectX 9 재배포
최종 사용자를 위해 게임과 함께 배포해야 하는 파일:
**DirectX End-User Runtime**:
- 🔗 https://www.microsoft.com/en-us/download/details.aspx?id=35
- 📦 `directx_Jun2010_redist.exe`
**포함 내용**:
- `d3dx9_43.dll`
- `D3DCompiler_43.dll`
- `XAudio2_7.dll`
- 기타 D3DX 컴포넌트
**설치 방법**:
```batch
REM 게임 설치 스크립트
directx_redist\DXSETUP.exe /silent
```
### DirectX 12 재배포
DirectX 12는 **Windows 10에 기본 포함**되므로 별도 재배포 불필요!
**최소 OS 요구사항**:
- Windows 10 (1809 이상) 또는
- Windows 11
**확인 방법**:
```cpp
// 런타임에 DX12 지원 확인
if (FAILED(D3D12CreateDevice(nullptr, D3D_FEATURE_LEVEL_11_0,
__uuidof(ID3D12Device), nullptr)))
{
MessageBox(NULL, L"DirectX 12를 지원하지 않는 시스템입니다.",
L"에러", MB_OK);
return false;
}
```
---
## 5. 빠른 설정 체크리스트
### ✅ DX9 브랜치 (dx9)
- [ ] DirectX SDK June 2010 다운로드
- [ ] SDK 설치 (S1023 에러 해결)
- [ ] 환경 변수 `DXSDK_DIR` 설정
- [ ] Visual Studio 재시작
- [ ] 프로젝트 Include/Lib 경로 확인
- [ ] 빌드 테스트
- [ ] `d3dx9_43.dll` 실행 경로에 복사
### ✅ DX12 브랜치 (dx12)
- [ ] Windows 10 SDK 다운로드 (최신)
- [ ] SDK 설치 (C++/Desktop 옵션)
- [ ] Visual Studio 재시작
- [ ] Windows SDK 버전 확인
- [ ] d3dx12.h 다운로드 및 추가
- [ ] 빌드 테스트
- [ ] PIX for Windows 설치 (디버깅용)
---
## 6. 자주 묻는 질문 (FAQ)
### Q1: DirectX SDK를 어디에 설치해야 하나요?
**A**: 기본 경로 사용 권장:
```
C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\
C:\Program Files (x86)\Windows Kits\10\
```
### Q2: 여러 버전의 SDK를 동시에 설치할 수 있나요?
**A**: 가능합니다! DX9 SDK와 Windows SDK (DX12)는 충돌하지 않습니다.
### Q3: Visual Studio 2022에서 DX9 SDK를 사용할 수 있나요?
**A**: 가능합니다. 단, 경로 충돌 방지를 위해:
```
Include 경로 순서:
1. $(DXSDK_DIR)Include
2. $(WindowsSDK_IncludePath)
```
### Q4: 64비트 빌드 시 라이브러리 경로는?
**DX9**:
```
$(DXSDK_DIR)Lib\x64
```
**DX12**:
```
C:\Program Files (x86)\Windows Kits\10\Lib\10.0.xxxxx.0\um\x64\
```
### Q5: `d3dx9_43.dll`이 없다는 오류가 발생합니다.
**A**: DirectX 재배포 패키지 설치 또는 DLL을 실행 파일과 같은 폴더에 복사:
```
Game.exe
d3dx9_43.dll
D3DCompiler_43.dll
```
### Q6: Windows 7에서 DX12를 사용할 수 있나요?
**A**: 불가능합니다. DX12는 Windows 10 이상 전용입니다.
### Q7: 오프라인 환경에서 설치하려면?
**DX9**: 전체 SDK 설치 파일 (572 MB) 다운로드
**DX12**: Windows SDK ISO 이미지 다운로드
---
## 7. 추가 리소스
### 공식 문서
**DirectX 9**:
- 📖 https://docs.microsoft.com/en-us/windows/win32/direct3d9/dx9-graphics
- 📖 MSDN DirectX 9 Reference (SDK 내 포함)
**DirectX 12**:
- 📖 https://docs.microsoft.com/en-us/windows/win32/direct3d12/directx-12-programming-guide
- 📖 https://github.com/microsoft/DirectX-Graphics-Samples
### 튜토리얼
**DX9**:
- http://www.directxtutorial.com/
- http://rastertek.com/tutdx9.html
**DX12**:
- https://www.3dgep.com/learning-directx-12-1/
- https://alain.xyz/blog/raw-directx12
### 커뮤니티
- **GameDev.net**: https://www.gamedev.net/forums/
- **Discord**: DirectX Community Server
- **Stack Overflow**: [directx] 태그
---
## 8. 문제 해결
### 빌드 오류: "d3d9.h를 찾을 수 없습니다"
**해결**:
1. SDK 설치 확인
2. Include 경로 확인
3. 프로젝트 다시 로드
### 링크 오류: "d3d9.lib를 열 수 없습니다"
**해결**:
1. Lib 경로 확인 (x86 vs x64)
2. 플랫폼 일치 확인
3. 환경 변수 재설정
### 런타임 오류: "DLL을 로드할 수 없습니다"
**해결**:
1. 재배포 패키지 설치
2. DLL을 실행 폴더에 복사
3. System32 확인 (비권장)
### Windows SDK 설치 실패
**해결**:
1. 관리자 권한으로 실행
2. 기존 버전 제거 후 재설치
3. .NET Framework 업데이트
4. 디스크 공간 확인 (10GB 이상)
---
## 📞 도움이 필요하신가요?
이 가이드로 해결되지 않는 문제가 있다면:
1. **GitHub Issues** 생성
2. **프로젝트 문서** 참조:
- `DX8_TO_DX9_MIGRATION_PLAN.md`
- `DX9_TO_DX12_MIGRATION_PLAN.md`
3. **Microsoft Q&A** 포럼 방문
---
**작성일**: 2025-12-01
**작성자**: Claude AI (Anthropic)
**버전**: 1.0
**최종 업데이트**: 2025-12-01
---
## 📋 요약
| SDK | 다운로드 링크 | 크기 | 플랫폼 | 비고 |
|-----|-------------|------|--------|------|
| **DX9 SDK** | [June 2010](https://www.microsoft.com/en-us/download/details.aspx?id=6812) | 572 MB | Win XP+ | 독립 설치 |
| **DX12 (Windows SDK)** | [최신 SDK](https://developer.microsoft.com/en-us/windows/downloads/windows-sdk/) | 1-2 GB | Win 10+ | VS 통합 |
| **DX9 재배포** | [End-User Runtime](https://www.microsoft.com/en-us/download/details.aspx?id=35) | 95 MB | All | 배포 필수 |
**핵심 포인트**:
- ✅ DX9: 별도 SDK 설치 필요
- ✅ DX12: Windows SDK에 포함 (VS와 자동 통합)
- ✅ 둘 다 동시 설치 가능
- ✅ DX9는 재배포 패키지 필요, DX12는 불필요
**이제 개발 준비 완료!** 🚀