데스크톱 DirectX 앱에 대한 로드맵
다음은 DirectX 및 C++를 사용하여 게임과 같은 그래픽 집약적 데스크톱 앱을 개발하는 데 도움이 되는 주요 리소스입니다. 이는 모든 기능 또는 사용 가능한 리소스의 포괄적인 목록이 아닙니다.
시작
다음은 몇 가지 주요 topics. DirectX 프로젝트 설정, Windows 및 샘플 애플리케이션에 적응.
항목 | 설명 |
---|---|
DirectX를 사용하여 첫 번째 Windows 앱 만들기 | 이 기본 자습서를 사용하여 DirectX 앱 개발을 시작한 다음 로드맵을 사용하여 DirectX 탐색을 계속합니다. |
Windows용 DirectX 시작 | DirectX 및 C++를 사용하여 게임 개발을 시작하기 위해 수행해야 하는 단계를 검토합니다. |
DirectX 프레임워크에 대한 전체 코드 | 기본 DirectX 렌더링 프레임워크에 대한 코드를 가져옵니다. |
Direct3D 11을 사용하는 방법 | 이 섹션에서는 Microsoft Direct3D 11 API를 사용하여 몇 가지 일반적인 작업을 수행하는 방법을 보여 줍니다. |
Direct3D 11의 프로그래밍 지침 | 프로그래밍 가이드에는 Microsoft Direct3D 11 프로그래밍 가능 파이프라인을 사용하여 데스크톱 애플리케이션용 실시간 3D 그래픽을 만드는 방법에 대한 정보가 포함되어 있습니다. |
DirectX 그래픽용 도구 | DirectX 개발을 지원하는 데 사용되는 도구에 대한 설명서입니다. |
Direct3D 11의 새로운 기능 | DirectX 및 Direct3D의 최신 버전(현재 11.2)에 추가된 모든 기능에 대한 분석입니다. |
Visual Studio 2013 다운로드 | Windows 스토어 게임을 만들려면 Visual Studio Express 2013 for Windows Desktop 있어야 합니다. Visual Studio 둘러보기를 보려면 Visual Studio 2012를 사용하여 Windows 스토어 앱 개발을 참조하세요. Visual Studio의 새로운 기능에 대한 자세한 내용은 Visual Studio 2013 제품 하이라이트를 참조하세요. |
DirectX SDK 위치 | DirectX 프로젝트를 Microsoft Visual Studio로 가져오려는 개발자를 위한 지침을 포함합니다. |
샘플 애플리케이션
항목 | Description |
---|---|
Direct3D 자습서 Win32 샘플 | 기본 데스크톱 Direct3D 자습서 샘플입니다. |
DirectX 비디오 렌더링 샘플 | Direct3D를 사용하여 사용자 지정 비디오 렌더링을 보여 주는 샘플입니다. |
주요 Direct3D 11 개념 검토
항목 | Description |
---|---|
그래픽 파이프라인 | 기본 Direct3D 11 그래픽 파이프라인을 다룹니다. |
렌더링 | Direct3D 렌더링 모델, 구성 요소, 셰이더 및 API 호출 흐름을 다룹니다. |
리소스 | 버퍼 및 기타 GPU 리소스 종류와 같은 Direct3D "리소스"를 다룹니다. |
효과 | Direct3D 다중 셰이더 인스턴스화 및 효과를 다룹니다. |
방법: 스왑 체인 만들기 | 화면 영역에 픽셀을 그리는 데 사용되는 스왑 체인을 만드는 방법입니다. |
방법: 디바이스 및 직접 실행 컨텍스트 만들기 | Direct3D 디바이스 추상화 및 그리기 위한 즉각적인 컨텍스트를 만드는 방법입니다. |
방법: 꼭짓점 버퍼 만들기 | GPU에서 처리하기 위한 간단한 메시 꼭짓점 목록을 만드는 방법입니다. |
방법: 인덱스 버퍼 만들기 | 꼭짓점 셰이더가 메시의 꼭짓점 순서를 걸을 수 있도록 인덱스 버퍼를 만드는 방법입니다. |
방법: 상수 버퍼 만들기 | 렌더링하는 동안 CPU와 GPU 간에 상수(균일한) 데이터를 전달하는 방법입니다. |
방법: 텍스처 만들기 | GPU에서 샘플링할 수 있는 텍스처 또는 기타 버퍼 리소스를 만드는 방법입니다. |
방법: 파일에서 텍스처 초기화 | 파일에서 텍스처를 로드하고 셰이더 파이프라인에서 사용할 수 있도록 처리하는 방법입니다. |
방법: 셰이더 컴파일 | 그래픽 애플리케이션에서 사용할 셰이더를 컴파일하는 방법입니다. |
그래픽 API
항목 | 설명 |
---|---|
Direct3D 11 | GPU 및 해당 리소스의 가상화 및 통합 셰이더 모델을 사용하여 그래픽 그리기를 위한 핵심 API에 대한 설명서입니다. |
Direct3D HLSL | 통합 셰이더 모델에서 그래픽 파이프라인의 일부로 실행되는 셰이더 프로그램을 정의하는 데 사용되는 구문 및 규칙인 High-Level 셰이더 언어에 대한 참조 설명서입니다. |
DXGI(DirectX Graphics Interface) | GPU 인터페이스 및 시스템 리소스를 획득하는 데 사용되는 하위 수준 API에 대한 설명서입니다. |
Direct2D | 2D 기본 형식의 그리기를 지원하는 Direct2D API에 대한 설명서입니다. 일반적으로 Direct2D는 사용자 지정 사용자 인터페이스, 이미지 처리 및 일괄 처리 및 간단한 게임에 사용됩니다. |
DirectWrite | 사용자 지정 글꼴 렌더링 및 크기 조정을 지원하는 DirectWrite API에 대한 설명서입니다. |
WIC(Windows Imaging Component) | 다양한 비트맵 이미지 형식을 읽고 관리하는 데 사용되는 WIC API에 대한 설명서입니다. |
텍스처용 DirectDraw Surface(DDS) | WIC API와 함께 2D 텍스처 압축 및 압축 해제에 사용되는 DDS API에 대한 설명서입니다. |
DirectXMath | 3D 실시간 그래픽 개발에 적합한 형식 및 함수 집합으로 Direct3D를 지원하는 DirectXMath API에 대한 설명서입니다. (이전의 XNAMath.) |
DirectCompute | 컴퓨팅 또는 일반 사용 셰이더 기능에 사용되는 DirectCompute API에 대한 설명서입니다. |
오디오, 미디어 및 입력 API
항목 | Description |
---|---|
XAudio2 프로그래밍 지침 | XAudio2 오디오 API 개념 설명서의 최상위 노드입니다. |
XAudio2 프로그래밍 참조 | XAudio2 오디오 API 참조 설명서의 최상위 노드입니다. |
XInput 프로그래밍 가이드 | XInput 컨트롤러 API 개념 설명서의 최상위 노드입니다. |
XInput 프로그래밍 참조 | XInput 컨트롤러 API 참조 설명서의 최상위 노드입니다. |
미디어 파운데이션 | MF(Media Foundation) 미디어(오디오/비디오) 재생 API 설명서의 최상위 노드입니다. 일반적으로 MF는 사운드트랙 재생을 위한 게임에서 사용되는 반면, XAudio2는 동적 오디오에 사용됩니다. |
DirectX 11로 포트
항목 | 설명 |
---|---|
Direct3D 11로 마이그레이션 | DirectX 9 코드베이스를 DirectX 11로 이동하기 위한 기본 지침입니다. |
게임용 이중 사용 코딩 기술 | 단일 애플리케이션에서 DirectX 9_* 및 DirectX 11_* 기능 수준 모두에 대한 개발에 대한 자세한 블로그 게시물입니다. |
Direct3D 기능 수준 9에 대한 섀도 버퍼 구현 | DirectX 기능 수준 9_*에서 섀도 맵을 구현하기 위한 지침입니다. |
C++ 작업
Windows 플랫폼에서 C++를 사용하는 오래된 손인 경우 상황이 약간 다르게 보일 수 있습니다. 다음은 차이점에 대한 핸들을 가져오는 데 도움이 되는 topics 대한 몇 가지 포인터입니다.
참고
이러한 topics 일부는 C++/CX 애플리케이션을 유지 관리하는 데 도움이 됩니다. 하지만 새로운 응용 프로그램에 대해 C++/WinRT를 사용하는 것이 좋습니다. C++/WinRT는 헤더 파일 기반 라이브러리로 구현된 WinRT(Windows 런타임) API용 최신의 완전한 표준 C++17 언어 프로젝션이며, 최신 Windows API에 최고 수준의 액세스를 제공하도록 설계되었습니다.
항목 | 설명 |
---|---|
Visual C++ 언어 참조(C++/CX) | C++에 관련된 콘텐츠에 연결되는 상위 수준 페이지입니다. |
빠른 참조(Windows 런타임 및 Visual C++) | Visual C++ 구성 요소 확장(C++/CX) 연산자 및 키워드에 대한 빠른 정보를 제공하는 테이블입니다. |
형식 시스템(C++/CX) | C++/CX에서 지원하는 형식에 대한 참조 콘텐츠입니다. |
네임스페이스(C++/CX) | Windows 스토어 앱에서 사용할 수 있는 C++관련 형식이 포함된 네임스페이스에 대한 참조 콘텐츠입니다. |
항목 | 설명 |
---|---|
비동기 프로그래밍(DirectX 및 C++) | DirectX 앱 및 게임에 대한 비동기 및 다중 스레드 프로그래밍에 대해 알아봅니다. |
C++의 비동기 프로그래밍 | 작업 클래스를 사용하여 Windows 런타임 비동기 메서드를 사용하는 기본 방법을 설명합니다. |
task 클래스(동시성 런타임) | 작업 클래스에 대한 참조 설명서입니다. |
작업 병렬 처리(동시성 런타임) | 작업 클래스 및 사용 방법에 대해 자세히 설명합니다. |
Windows C++ 프로그래밍에 유용한 추가 라이브러리
항목 | Description |
---|---|
C++ 표준 템플릿 라이브러리 | Windows 런타임 형식은 표준 템플릿 라이브러리 형식에서 잘 실행됩니다. 대부분의 C++ Windows 스토어 앱은 ABI 경계를 제외하고 표준 템플릿 라이브러리 컬렉션 및 알고리즘을 사용합니다. |
병렬 패턴 라이브러리 | PPL은 CPU에서 작업 병렬 처리 및 데이터 병렬 처리를 간소화하는 알고리즘 및 형식을 제공합니다. |
C++ Accelerated Massive Parallelism(C++ AMP) | C++ AMP DirectX 11을 지원하는 비디오 카드에서 범용 데이터 병렬 처리를 위해 GPU에 액세스할 수 있습니다. |
블로그 및 기타 리소스
항목 | 설명 |
---|---|
Windows 및 DirectX용 게임 블로그 | 주요 DirectX 개발 기여자 정기적으로 업데이트되는 블로그와 DirectX 개발자를 위한 유용한 리소스입니다. |
Windows DirectX 개발자 블로그 | 공식 Windows DirectX 블로그. |
숀 하그리브의 DirectX 블로그) | 또 다른 존경받는 Windows DirectX 개발 기여자 개발 블로그. |
DirectX 도구 키트 | DxTK(DirectX 도구 키트)에는 메시 로드, 소리 재생 및 기타 일반적인 동작에 유용한 지원 API가 많이 포함되어 있습니다. |
DirectXTex 텍스처 처리 라이브러리 | DxTEX(DirectX 텍스처 처리 라이브러리)는 텍스처 처리 및 압축/압축 해제를 위한 지원 API를 포함합니다. |