DirectX 및 C++를 사용하는 Windows 스토어 앱용 로드맵

Applies to Windows only

여기서는 DirectX 및 C++를 사용하여 게임 같이 높은 그래픽 사양이 요구되는 Windows 스토어 앱을 개발하는 데 도움이 되는 주요 리소스를 안내합니다. 모든 기능 또는 사용 가능한 리소스 목록을 포괄적으로 제공하는 것은 아닙니다.

참고  DirectX 11.1 API는 Windows 스토어 앱과 데스크톱 앱에 모두 사용할 수 있습니다. 이 로드맵을 진행하면서 DirectX와 관련된 항목 대부분은 Windows 개발자 센터 외부의 MSDN Library 콘텐츠에 있다는 것을 알게 될 것입니다. 그러나 관계 없습니다. Direct2D, Direct3D, DirectWrite, XAudio2, XInput 및 DirectXMath를 포함한 DirectX 11.1 API는 모두 Windows 스토어 앱 개발에도 사용할 수 있습니다. 물론 Windows 스토어 앱에서는 C++와만 함께 사용할 수 있으며, 일부 인라인 코드 샘플은 Desktop Win32 프로그래밍 구문과 스타일을 사용합니다. 따라서 Windows 스토어 앱 개발에 사용되는 C++ 버전(C++/CX라고 함)을 잘 알고 있어야 합니다. (이에 도움이 되는 링크도 함께 제공했습니다.)

시작

빨리 시작하고 싶으세요? 다음은 DirectX 프로젝트를 설정하고, Windows 런타임에 익숙해지며, 여러 개의 샘플로 분할하는 데 도움이 되는 주요 항목입니다.

항목설명

DirectX를 사용한 Windows 스토어 앱 개발을 위한 사전 요구 사항

DirectX Windows 스토어 앱을 작성하기 위해 필요한 사항을 알아봅니다.

DirectX Windows 스토어 앱 개발 환경 준비

Microsoft Visual Studio 2013을 사용하여 첫 DirectX Windows 스토어 앱을 개발할 준비를 합니다.

보기를 표시하도록 앱을 설정하는 방법

Microsoft Visual Studio 2012에서 제공하는 Direct3D 앱 템플릿에 대한 코드를 살펴봅니다. 이는 DirectX를 처음 접하는 개발자와 이미 익숙한 개발자에게 모두 좋은 시작 지점이 될 수 있습니다.

DirectX Windows 스토어 앱 샘플

특정 DirectX Windows 스토어 앱 샘플을 찾아보고 코드를 이해합니다.

DirectX C++ 프로젝트 템플릿

Visual Studio 2013에서 제공하는 Direct2D 앱Direct3D 앱 템플릿에 대해 알아봅니다.

게임 개발

JavaScript에서 DirectX까지 Windows 스토어 앱 게임 개발에 대해 알아봅니다.

샘플: Marble Maze, C++ 및 DirectX로 작성된 Windows 스토어 게임

자세히 설명된 종단 간 DirectX 및 C++ Windows 스토어 앱 샘플을 따라 작업합니다.

Windows 8 다운로드

Windows 8을 아직 설치하지 않은 경우 다운로드할 수 있습니다.

Visual Studio 2012 다운로드

Windows 스토어 앱을 만들려면 Visual Studio 2013이 있어야 합니다. Visual Studio 둘러보기는 Visual Studio 2012를 사용하여 Windows 스토어 앱 개발을 참조하세요. Visual Studio의 새로운 기능에 대한 자세한 내용은 Visual Studio 2013 제품의 주요 기능을 참조하세요.

DirectX SDK 위치

DirectX 프로젝트를 Microsoft Visual Studio로 가져오려는 개발자를 위한 지침이 나와 있습니다.

 

DirectX 및 C++로 작성된 Windows 스토어 앱의 기본 기능과 개념

DirectX 및 C++를 사용하여 Windows 스토어 앱을 개발하려면 Windows 스토어 앱이 무엇인지 이해해야 합니다. 또한 Windows 런타임과 DirectX가 함께 작동하는 방식도 이해해야 합니다. 잘 작성된 Windows 스토어 앱은 일반적인 디자인 원칙을 따르고 Windows 런타임의 기능을 사용합니다. 다음은 Microsoft 디자인 언어의 의미를 이해하고, 사용할 수 있는 기능을 확인하며, 유용한 앱 환경을 계획하는 데 도움이 되는 일부 링크입니다.

항목설명

유용한 Windows 스토어 앱 만들기

이 문서에서는 Windows 스토어 앱 디자인 및 개발에 대한 "무엇?" 및 "왜?"에 대한 답을 제공합니다. 뛰어난 Windows 스토어 앱을 만들기 위해 수행할 수 있는 작업에 대해 간략하게 알아봅니다.

Windows 스토어 앱 계획

어떤 종류의 앱을 만들어야 할까요? 장치에 따라 어떻게 계획을 세울까요? 앱을 통해 어떻게 수익을 창출할 수 있을까요? 개발을 간소화하고 앱의 잠재력을 극대화하려면 계획 단계에서 올바른 결정을 내려야 합니다.

DirectX 게임 개발 시작

Windows 8에 대한 DirectX 게임 개발의 주요 개념을 살펴봅니다.

DirectX Windows 스토어 게임 개발 이해

전체 DirectX Windows 스토어 게임 샘플을 살펴보고 게임을 작성하는 데 사용하는 여러 구성 요소에 대해 알아봅니다.

Windows 런타임 구성 요소 만들기

DirectX 및 C++를 사용하여 Windows 스토어 앱을 개발할 경우 Windows 런타임 구성 요소를 만들어 액세스해야 할 수 있습니다. 여기에서는 이 절차를 살펴봅니다.

DirectX 그래픽으로 시작

DirectX와 Direct3D, Direct2D, DirectWrite, DirectXMathXAudio2를 비롯한 API를 살펴봅니다.

 

사용자 인터페이스 디자인 및 개발

HTML5 또는 XAML 개발자인 경우 Windows UI를 작성하기가 좀 더 쉽습니다. 또한 DirectX 개발자는 XAML로도 작업할 수 있습니다.

항목설명

XAML 개요

XAML이란? XAML 요소 및 레이아웃의 기본 사항을 살펴봅니다.

빠른 시작: XAML을 사용하여 사용자 인터페이스 만들기

XAML을 사용하여 기본 UI를 만드는 방법을 알아봅니다. 이 빠른 시작은 C++로 제한되지 않습니다.

DirectX 및 XAML interop

DirectX 화면을 XAMLUI 요소에 통합하는 방법에 대해 설명합니다.

사용자 조작에 대한 지침(DirectX 및 C++)

DirectX 게임이 입력 이벤트 메시징 인프라에 대해 반응하도록 하는 방법과 멋진 Windows 스토어 앱으로 작동하도록 하는 방법에 대해 알아봅니다.

화면 방향 지원(DirectX 및 C++)

DirectX와 C++로 작성한 Windows 스토어 앱에서 화면 회전 동작을 지원하는 방법에 대해 알아봅니다.

Windows::UI::CoreWindow API reference

Windows::UI::CoreWindow API 유형을 살펴보고 Windows 스토어 앱의 기본 창 인프라에 대해 알아봅니다.

Windows::UI::Core namespace reference

Windows::UI::Core API 네임스페이스를 살펴보고 Windows 스토어 앱의 기본 UI 인프라에 대해 알아봅니다.

Windows::UI::Xaml::Media::Imaging::SurfaceImageSource API reference

XAML을 사용하는 경우 SurfaceImageSource 유형뿐 아니라 ISurfaceImageSourceNative에 대해서도 잘 알아야 합니다.

Windows::UI::Xaml::::Media::Imaging::VirtualSurfaceImageSource API reference

XAML을 사용하는 경우 VirtualSurfaceImageSource 유형뿐 아니라 IVirtualSurfaceImageSourceNative에 대해서도 잘 알아야 합니다.

Windows::UI::Xaml::Controls::SwapChainPanel API reference

XAML을 사용하는 경우 SwapChainPanel 유형뿐 아니라 ISwapChainPanelNative에 대해서도 잘 알아야 합니다.

 

Windows 런타임 상호 운용

DirectX 11.1은 Windows 8의 핵심이 되는 시청각 기능으로 Windows UI에도 매우 중요한 요소입니다. 따라서 해당 API는 Windows 런타임 외부에 있으며 데스크톱 앱과 Windows 스토어 앱에서 모두 사용할 수 있습니다. DirectX 개발자의 경우 이 API를 사용하면 그래픽 관련 작업을 할 때 더 흥미로울 수 있지만, 다른 프로그래밍 모델에서 고려하는 일부 기능(예: 앱 바 및 레이아웃 API)의 경우 DirectX 개발자에게 추가 작업이 요구될 수 있습니다.

항목설명

Windows 런타임 핵심 사용자 인터페이스 개체 및 DirectX

DirectX와 Windows 런타임 간 상호 운용에 대한 기본 배경 정보를 알아봅니다.

비동기 프로그래밍(DirectX 및 C++)

DirectX 앱 및 게임을 위한 비동기 및 다중 스레드 프로그래밍에 대해 알아봅니다.

C++로 Windows 런타임 구성 요소 만들기

DirectX 및 C++를 사용하여 Windows 스토어 앱을 개발할 경우 Windows 런타임 구성 요소를 만들어 액세스해야 할 수 있습니다. 여기에서는 이 절차를 살펴봅니다.

 

입력 및 컨트롤 처리

Windows 8은 밀접하게 통합된 여러 가지 새로운 입력, 컨트롤, 장치 및 센서 옵션을 제공합니다. DirectX 개발자는 새롭게 구성된 이 입력 양식을 결합하여 빠르고 유연한 시청각 환경을 만들고 그래픽 요구량이 많은 앱을 작성할 수 있습니다. 다음 링크는 Windows 런타임의 이벤트 인프라에 연결하기 위해 필요한 사항과 Windows 8에서 지원하는 입력 모델, 센서 및 장치 범위에 대해 자세히 알아볼 수 있는 위치를 제공합니다. 이제 Xbox 컨트롤러 지원을 위한 XInput 라이브러리에 액세스되었습니다.

항목설명

DirectX 게임의 입력 및 컨트롤 작업

DirectX가 결합된 Windows 스토어 앱에서 사용할 수 있는 다른 입력 및 컨트롤 옵션을 살펴봅니다.

사용자 조작에 응답(DirectX 및 C++)

사용자가 DirectX로 작성된 Windows 스토어 앱을 조작하는 방법과 다양한 입력 및 제어 모델을 수용하도록 개발하는 방법에 대해 자세히 알아봅니다.

사용자 조작에 대한 지침(DirectX 및 C++)

DirectX 게임이 입력 이벤트 메시징 인프라에 대해 반응하도록 하는 방법과 멋진 Windows 스토어 앱으로 작동하도록 하는 방법에 대해 알아봅니다.

터치 입력에 응답(DirectX 및 C++)

DirectX로 작성된 Windows 스토어 앱에서 터치 입력을 통합하는 방법에 대해 알아봅니다.

마우스 컨트롤 개발(DirectX 및 C++)

DirectX로 작성된 Windows 스토어 앱에서의 중요한 마우스 입력 고려 사항에 대해 알아봅니다.

자습서: DirectX 게임에 터치 컨트롤 추가

화면 이동 등의 기본 터치 컨트롤을 DirectX가 결합된 Windows 스토어 앱에 통합하는 방법을 알아봅니다.

자습서: DirectX 게임에 이동-보기 컨트롤 추가

DirectX가 결합된 3D Windows 스토어 앱의 기본 터치 기반 "이동-보기" 컨트롤러를 만드는 방법을 알아봅니다.

장치 지원 추가

센서를 사용하여 사용자 입력 또는 외부 조건(광원)의 변화에 응답합니다. 이 문서에는 앱이 Windows 스토어에서 수락되기 위해 충족해야 하는 요구 사항도 나열되어 있습니다.

동작 센서 및 방향 센서에 반응

동작 센서 및 방향 센서를 사용합니다.

XInput 시작

Xbox 360 컨트롤러를 DirectX 게임에 통합하는 방법을 알아봅니다.

 

프로세스 수명 관리 및 일시 중단/다시 시작

뛰어난 DirectX Windows 스토어 앱은 다른 모든 Windows 스토어 앱처럼 동작해야 합니다. 그러나 DirectX 앱은 HTML5 및 관리되는 피어보다 훨씬 복잡한 경우가 많습니다. 특히 게임 개발자인 경우에는 Windows 런타임의 프로세스 수명 관리 동작뿐 아니라 지원되는 스레딩 모델 및 일시 중단/다시 시작 시나리오의 모범 사례를 잘 알고 있어야 합니다.

항목설명

이벤트 메시징 및 CoreWindow 작업(DirectX and C++)

CoreWindow 이벤트 메시지를 다루기 위한 모범 사례에 대해 알아봅니다.

일시 중단/다시 시작

앱이 닫힌 후 표시 가능한 상태로 복원하는 방법을 알아봅니다. 대부분의 앱을 위해 꼭 알아두어야 할 내용입니다.

앱 활성화 방법(DirectX 및 C++)

DirectX로 작성된 Windows 스토어 앱을 활성화하는 방법을 보여 주는 코드를 살펴봅니다.

앱 일시 중단 방법(DirectX 및 C++)

DirectX로 작성된 Windows 스토어 앱을 일시 중단하는 방법을 보여 주는 코드를 살펴봅니다.

앱 다시 시작 방법(DirectX 및 C++)

DirectX로 작성된 Windows 스토어 앱을 다시 시작하는 방법을 보여 주는 코드를 살펴봅니다.

 

2D 그래픽 개발

2D 그래픽 응용 프로그램을 만들려는 경우 XAML에서 Direct2D와 DirectWrite에 이르기까지 다양한 옵션이 있으며 이를 함께 사용할 수도 있습니다.

항목설명

Direct2D 빠른 시작

Direct2D 개발을 바로 시작합니다. 2D 앱을 만들거나, 제공된 원시 데이터를 사용하여 인터페이스를 직접 만들거나 오버레이를 표시합니다.

간단한 Direct2D 앱 만들기

Direct2D 데스크톱 앱의 기본 구조를 살펴봅니다.

DirectWrite 소개

DirectWrite의 기능과 DirectX 앱에서 텍스트를 표시하는 방법을 알아봅니다.

DirectWrite 시작

DirectWrite 기능을 간단히 살펴봅니다.

Direct2D의 프로그래밍 지침

Direct2D의 다양한 기능을 코드 접근 방식으로 살펴봅니다.

 

3D 그래픽 개발

Direct3D 11.1은 플랫폼에서 멋진 모양의 앱(예: 게임)을 만드는 데 사용할 수 있는 강력하고 풍부한 그래픽 및 멀티미디어 API 집합입니다. DXGI는 그래픽 어댑터 하드웨어에 액세스할 수 있는 인프라를 제공합니다.

항목설명

Direct3D 시작

Direct3D(특히 Direct3D 11.1)를 시작하는 방법을 알아봅니다. 이 문서는 3D 그래픽 프로그래밍 안내서가 아닙니다.

Direct3D 11.1 기능

Direct3D 11.1에서 사용할 수 있는 기능과 이러한 기능을 통해 DirectX Windows 스토어 앱을 향상시킬 수 있는 방법을 알아봅니다.

Direct3D 11의 프로그래밍 지침

Direct3D 11의 새 모델 및 기능을 활용하여 개발하는 방법을 알아봅니다.

HLSL의 프로그래밍 지침

DirectX 앱의 HLSL 기반 셰이더 루틴을 개발하는 방법을 알아봅니다. 셰이더는 현대식 Direct3D 비주얼의 핵심입니다.

DXGI의 프로그래밍 지침

하위 수준의 DXGI(DirectX 그래픽 인터페이스) API를 개발하는 방법을 알아봅니다. 모든 DirectX 개발자는 DXGI API를 잘 알고 있어야 합니다.

DirectXMath 프로그래밍 지침

수학은 일부에게 어렵게 느껴집니다. 그래픽 친화적인 유형을 제공하고 여러 일반적인 선형 대수 함수를 단순화하는 DirectXMath API를 살펴봅니다. 이는 C++에서 XNAMath를 대체합니다.

 

오디오 및 비디오 재생 개발

경우에 따라 DirectX 앱에 사운드 또는 비디오 재생을 추가하려 할 수 있습니다.

항목설명

DirectX 게임의 오디오 작업

DirectX Windows 스토어 앱에 사운드 및 음악 재생을 추가하는 옵션을 알아봅니다.

빠른 시작: 비디오 및 오디오

미디어를 Windows 스토어 앱에 통합합니다.

XAudio2 소개

강력한 사운드 믹싱 및 재생 라이브러리인 XAudio2에 대해 알아봅니다.

Microsoft Media Foundation SDK

강력하고 유연한 비디오 재생 및 가속을 지원하는 Microsoft Media Foundation API를 살펴봅니다.

 

C++로 작성된 Windows 스토어 게임 프로그래밍

게임 개발자이십니까? ("예"라고 대답하세요. 아니어도 관계는 없습니다.)

항목설명

게임 개발

Windows 스토어 앱의 게임 개발에 대한 포털 페이지

OpenGL ES 2.0에서 Direct3D 11로 포팅

OpenGL ES 2.0 게임을 Windows 스토어 게임으로 이동하기 위한 포팅 지침입니다.

DirectX 9에서 Windows 스토어로 포팅

DirectX 9.0 게임을 DirectX 11.2 게임으로 이동하기 위한 포팅 지침입니다.

DirectX 11 게임에 대한 Windows 스토어 기능 추가

Windows 스토어 앱 특정 기능을 새 게임에 추가하는 방법을 알아봅니다.

샘플: Marble Maze, C++ 및 DirectX로 작성된 Windows 스토어 게임

DirectX 기능 및 C++\CX 프로그래밍 모델에 초점을 맞춘 자세한 종단 간 C++ Windows 스토어 앱 샘플입니다.

Windows 스토어 DirectX 게임 개발 이해

게임 코드 디자인에 초점을 둔 세부적인 종단 간 C++ DirectX Windows 스토어 게임입니다.

 

DirectX Windows 스토어 앱 게시 및 판매

항목설명

Windows 게임 게시 요구 사항

GDFMaker, 등급 및 Windows 스토어에서 판매하기 위해 게임을 패키지에 포함하는 방법을 알아봅니다.

다양한 DirectX 기능 수준용 개발

DirectX 기능 수준과 DirectX 앱의 플랫폼별 요구 사항에 대해 알아봅니다.

Windows 스토어를 통해 게임에서 바로 구매

Windows 스토어 DirectX 게임에 앱에서 바로 구매를 추가하는 방법을 알아봅니다.

Windows 스토어 DirectX 게임 패키지

최상의 Windows 스토어 다운로드 환경을 위해 큰 자산이나 지역화된 자산과 함께 게임을 패키지하는 방법을 알아봅니다.

Windows 스토어에 Direct3D Windows 스토어 앱 게시(DirectX 및 C++)

Windows 스토어에서 DirectX로 작성된 Windows 스토어 앱을 게시하는 방법에 대해 알아봅니다.

Direct3D 앱에 대한 Windows 스토어 정책

DirectX로 작성된 Windows 스토어 앱에 대한 특정 Windows 스토어 정책을 검토합니다. 섹션 3.10을 참조하세요.

Windows 스토어 앱 게시

Windows 스토어에서 앱을 판매하면 Microsoft Windows를 사용하는 수백만 명의 고객에 도달할 수 있습니다.

 

C++/CX로 작업

Windows 플랫폼에서 C++를 사용하는 데 익숙한 경우 큰 차이를 느끼지 못할 것입니다. C++와 거의 비슷합니다. 다음은 CX(구성 요소 확장) 및 작업 기반 비동기 프로그래밍 모델에서 변경된 사항을 이해하는 데 도움이 되는 항목의 링크입니다.

항목설명

Visual C++ language reference (C++/CX)

C++ 관련 콘텐츠에 대한 링크가 있는 고급 페이지

Quick Reference (Windows Runtime and Visual C++)

Visual C++/CX(C++ 구성 요소 확장) 연산자 및 키워드에 대한 요약 정보를 제공하는 표

Type system (C++/CX)

C++/CX에서 지원하는 형식에 대한 참조 콘텐츠

Namespaces (C++/CX)

Windows 스토어 앱에서 사용할 수 있는 C++ 특정 형식을 포함한 네임스페이스에 대한 참조 콘텐츠

 

비동기 프로그래밍(DirectX 및 C++)

DirectX 앱 및 게임을 위한 비동기 및 다중 스레드 프로그래밍에 대해 알아봅니다.

C++의 비동기 프로그래밍

작업 클래스를 사용하여 Windows 런타임 비동기 메서드를 사용하는 기본 방법에 대해 설명합니다.

C++에서 Windows 스토어 앱에 대한 비동기 작업 만들기

create_async를 사용하여 비동기 메서드를 생성하는 방법에 대해 설명합니다.

task Class (Concurrency Runtime)

작업 클래스에 대한 참조 설명서

작업 병렬 처리(동시성 런타임)

작업 클래스 및 사용 방법에 대해 자세히 설명합니다.

 

Windows 스토어 앱 C++ 프로그래밍에 유용한 추가 라이브러리

C++ 표준 템플릿 라이브러리

Windows 런타임 유형은 표준 템플릿 라이브러리 유형에서 제대로 재생됩니다. 대부분의 C++ Windows 스토어 앱은 ABI 경계를 제외하고 표준 템플릿 라이브러리 컬렉션 및 알고리즘을 사용합니다.

병렬 패턴 라이브러리

PPL은 CPU의 작업 병렬 처리 및 데이터 병렬 처리를 간소화하는 알고리즘 및 형식을 제공합니다.

C++ Accelerated Massive Parallelism(C++ AMP)

C++ AMP는 DirectX 11을 지원하는 비디오 카드에서 일반적인 용도의 데이터 병렬 처리를 위한 GPU 액세스를 제공합니다.

 

 

 

표시:
© 2014 Microsoft