다음을 통해 공유


데스크톱 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를 포함합니다.