NuGet으로 D3D12 설치하는 이유는?

엄밀히 말해 D3D12는 Windows SDK에 이미 포함되어 있으므로 "설치"가 필요한 건 아닙니다.

하지만 NuGet을 통해 추가적으로 개발에 편리한 헤더, 라이브러리, 샘플, 디버그 툴 등을 받아 쓸 수 있습니다.

🔧 대표적인 D3D 관련 NuGet 패키지

패키지 이름 설명
Microsoft.Direct3D.D3D12 최신 Direct3D 헤더/라이브러리 (Agility SDK 포함 가능)
Microsoft.Direct3D.D3D12.Agility D3D12 Agility SDK – 최신 GPU 기능을 지원하려면 필요
WinPixEventRuntime PIX용 GPU 마커 삽입용 런타임
DirectXTex, DirectXTK 이미지 로딩 및 텍스처 도구 (DirectXTex, DirectX ToolKit 등)

언제 NuGet을 써야 할까?

💡 대표적 사용 목적

목적 이유
D3D12 Agility SDK 사용 최신 GPU 기능 (예: Mesh Shader) 활용하려면 NuGet 패키지 필요
Visual Studio에 자동 연동 NuGet은 VS 프로젝트에 자동으로 설정됨 (include/lib 경로 지정 포함)
Windows SDK 버전과 별개로 최신 DX 기능 테스트 OS에 종속되지 않고 최신 기능 테스트 가능

Direct3D는 왜 vcpkg로 안 받나요?

vcpkg와의 차이점 요약

항목 NuGet vcpkg
목적 Windows API 확장, 최신 SDK 배포 오픈소스 라이브러리 설치 및 빌드 자동화
대상 주로 Microsoft 내부/OS 플랫폼 레벨 SDK 주로 게임/그래픽/유틸용 라이브러리 (stb, glm, imgui)
설치 위치 Visual Studio 솔루션 내 .nuget 폴더 전역 또는 사용자 지정 vcpkg_installed 폴더
DirectX 관련 Agility SDK, PIX Runtime, HLSL Shader Compiler 등 지원 일부만 지원 (directxtk, directxmath, d3d12-memory-allocator 등)

NuGet은 보통 .lib 파일은 자동 연결해주지만,

헤더 파일(.h) 경로는 직접 설정해줘야 할때가 많습니다.

YamYamEngine_CORE 에서 nuget 패키지관리 클릭

image.png

D3D12 검색후 아래 sdk 설치 최신버전을 설치하시면 됩니다.

image.png