Схема создания приложений Магазина Windows на DirectX и C++

Схема создания приложений Магазина Windows на DirectX и C++

[ Эта статья адресована разработчикам приложений среды выполнения Windows для Windows 8.x и Windows Phone 8.x. В случае разработки приложений для Windows 10 см. раздел последняя документация]

Перечислим основные ресурсы, которые помогут вам начать разработку насыщенных графикой приложений Магазина Windows (например, игр), используя DirectX и C++. Это неполный перечень компонентов и доступных ресурсов.

Примечание  API DirectX 11.1 доступны как для универсальных приложений Windows, так и для классических приложений. По мере изучения схемы вы обнаружите, что многие из разделов, относящихся к DirectX, находятся в библиотеке MSDN, а не в Центре разработки для Windows. Это нормально. Все API DirectX 11.1, включая Direct2D, Direct3D, DirectWrite, XAudio2, XInput и DirectXMath, доступны также для разработки приложений Магазина Windows. Разумеется, что в приложениях Магазина Windows их можно применять только с использованием C++. Также в некоторых встроенных примерах кода используется синтаксис и стили программирования, соответствующие классическим приложениям Win32. Поэтому вам необходимо ознакомиться с версией C++ под названием C++/CX, которая используется для разработки приложений Магазина Windows (ссылки на справку по этой версии также предоставлены).
 

Приступая к работе

Хотите быстро приступить к работе? Вот основные темы: настройка проекта DirectX, освоение среды выполнения Windows, детальное изучение примеров.

РазделОписание

Предварительные требования для разработки приложений Магазина Windows на DirectX

Узнайте, что вам требуется, чтобы начать создание приложения Магазина Windows с использованием DirectX.

Настройка приложения для отображения представления

Разберите код для шаблона Приложение Direct3D в Microsoft Visual Studio 2012. Это хорошая отправная точка как для новых, так и для опытных разработчиков DirectX.

Примеры приложений Магазина Windows с использованием DirectX

Найдите определенный образец приложения Магазина Windows с использованием DirectX и непосредственно ознакомьтесь с его кодом.

Разработка игр

Изучите разработку игр Магазина Windows с использованием различных технологий — от JavaScript до DirectX.

Скачивание Visual Studio 2012

Для создания приложений Магазина Windows вам потребуется Visual Studio 2013.

Где находится пакет SDK для DirectX?

Содержит инструкции для разработчиков по переносу проектов DirectX в Microsoft Visual Studio.

 

Базовые функции и понятия, относящиеся к приложениям Магазина Windows с использованием DirectX и C++

Чтобы заниматься разработкой приложения Магазина Windows с использованием DirectX и C++, вам необходимо понять, что представляет собой такое приложение. Также вам необходимо понять принципы совместной работы среды выполнения Windows и DirectX. В идеальном случае приложение Магазина Windows должно соответствовать некоторому общему набору принципов разработки и использовать функции среды выполнения Windows. Далее приведены несколько ссылок, которые помогут вам понять, что такое язык дизайна Майкрософт, ознакомиться с доступными ресурсами и запланировать разработку так, чтобы обеспечить лучшее взаимодействие с приложением.

РазделОписание

Планирование приложений Магазина Windows

Приложение какого типа требуется создать? Как планируется его использовать на различных устройствах? Как сделать приложение коммерчески успешным? Приняв верные решения на этапе планирования, вы упростите развертывание и увеличите возможности своего приложения.

Приступая к разработке игры DirectX

Ознакомьтесь с основными понятиями разработки игр DirectX для Windows 8.

Основные сведения о разработке игр Магазина Windows с использованием DirectX

Разберите по шагам завершенный образец игры Магазина Windows с использованием DirectX и изучите различные компоненты, используемые для ее создания.

Создание компонентов среды выполнения Windows

При разработке приложения Магазина Windows с использованием DirectX и C++ вам может понадобиться создать компоненты среды выполнения Windows и получить к ним доступ. Рассмотрим описанный здесь процесс.

Начало работы с графикой DirectX

Изучите систему DirectX и ее API, в том числе Direct3D, Direct2D, DirectWrite, DirectXMath и XAudio2.

 

Проектирование и разработка пользовательского интерфейса

Когда речь идет о пользовательском интерфейсе Windows, задача решается несколько проще, если вы являетесь разработчиком HTML5 или XAML. Но хорошая новость заключается в том, что разработчики DirectX тоже могут работать с языком XAML.

РазделОписание

Обзор языка XAML

Что такое XAML? Изучите основные сведения об элементах XAML и создании макета.

Краткое руководство: создание пользовательского интерфейса с помощью XAML

Научитесь создавать простые пользовательские интерфейсы с помощью XAML. Это краткое руководство не привязано к языку C++.

Межпрограммное взаимодействие DirectX и XAML

Описание способов интеграции поверхностей DirectX в элементы XAMLUI.

Руководство по взаимодействию с пользователем (DirectX и C++)

Узнайте, как заставить свою игру на DirectX реагировать, отвечать на сообщения о событиях ввода и работать как первоклассное приложение Магазина Windows.

Поддержка ориентации экрана (DirectX и C++)

Узнайте, как обеспечить поддержку поворота экрана в приложениях Магазина Windows на C++ с DirectX.

Windows::UI::CoreWindow API reference

Ознакомьтесь с типом API Windows::UI::CoreWindow и получите сведения о базовой инфраструктуре окна для приложений Магазина Windows.

Windows::UI::Core namespace reference

Ознакомьтесь с пространством имен API Windows::UI::Core и получите сведения о базовой инфраструктуре пользовательского интерфейса для приложений Магазина Windows.

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. Поэтому API этого компонента располагаются за пределами среды выполнения Windows и доступны как для классических приложений, так и для приложений Магазина Windows. Это дает вам — разработчику для DirectX — некоторые дополнительные возможности в отношении графики. В то же время некоторые из компонентов, которые в других моделях программирования считаются само собой разумеющимися (например, панель приложения и API макета), требуют от разработчика для DirectX дополнительной работы.

РазделОписание

Основные объекты пользовательского интерфейса среды выполнения Windows и DirectX

Получите вводные сведения о взаимодействии DirectX и среды выполнения Windows.

Асинхронное программирование (DirectX и C++)

Узнайте больше об асинхронном и многопоточном программировании приложений и игр DirectX.

Создание компонентов среды выполнения Windows в C++

При разработке приложения Магазина Windows с использованием DirectX и C++ вам может понадобиться создать компоненты среды выполнения Windows и получить к ним доступ. Рассмотрим описанный здесь процесс.

 

Обработка ввода и элементов управления

В Windows 8 имеется множество новых, тесно интегрированных возможностей ввода, управления, работы с устройствами и датчиками. Разработчики DirectX могут соединять эти новые и улучшенные формы ввода для создания быстрого и плавного аудиовизуального взаимодействия с пользователем в богатых графикой приложениях. Следующие ссылки позволяют получить сведения о том, что необходимо сделать для подключения к инфраструктуре событий среды выполнения Windows и куда следует обратиться, чтобы получить дополнительную информацию о широком спектре датчиков, устройств и моделей ввода, поддерживаемых Windows 8. Кстати, теперь у вас есть доступ к библиотеке XInput для поддержки контроллеров Xbox.

РазделОписание

Работа со вводом и элементами управления в игре DirectX

Рассмотрите различные возможности ввода и управления, доступные для приложений Магазина Windows с использованием DirectX.

Реакция на взаимодействие пользователя с программой (DirectX и C++)

Узнайте больше о том, как пользователи могут взаимодействовать с вашим приложением Магазина Windows с использованием DirectX, а также о способах разработки, ориентированных на разные модели ввода и разные элементы управления.

Руководство по взаимодействию с пользователем (DirectX и C++)

Узнайте, как заставить свою игру на DirectX реагировать, отвечать на сообщения о событиях ввода и работать как первоклассное приложение Магазина Windows.

Реакция на сенсорный ввод (DirectX и C++)

Узнайте, как внедрить сенсорный ввод в приложение Магазина Windows на DirectX.

Разработка элементов управления мышью (DirectX и C++)

Узнайте о важных моментах, связанных с вводом при помощи мыши в приложении Магазина Windows на DirectX.

Руководство: добавление сенсорных элементов управления в игру DirectX

Научитесь внедрять основные сенсорные элементы управления, например панорамирование экрана, в приложения Магазина Windows с использованием DirectX.

Учебное руководство: добавление элементов управления перемещением и обзором в игру DirectX

Научитесь создавать простой сенсорный элемент управления перемещением и обзором для трехмерных приложений Магазина Windows с использованием DirectX.

Добавление поддержки устройств

Используйте датчики, чтобы реагировать на ввод данных пользователем или изменение внешних условий (например, освещения). В этой статье также перечислены требования, которым должно отвечать приложение, чтобы оно было принято в Магазин Windows.

Поддержка датчиков движения и положения в пространстве

Используйте датчики движения и положения в пространстве.

Начало работы с библиотекой XInput

Научитесь внедрять контроллер Xbox 360 в игры DirectX.

 

Управление жизненным циклом процесса и функциями приостановки и возобновления работы

Качественное приложение DirectX Магазина Windows должно вести себя подобно всем прочим приложениям Магазина Windows. Но приложения DirectX часто являются более сложными, чем их аналоги в HTML5 и управляемом коде. В частности, если вы являетесь разработчиком игр, вам необходимо познакомиться с особенностями управления жизненным циклом процессов в среде выполнения Windows, а также с поддерживаемыми потоковыми моделями и рекомендациями по сценариям приостановки и возобновления работы.

РазделОписание

Работа с сообщениями о событиях и объектом CoreWindow (DirectX и C++)

Изучите рекомендации по обработке сообщений о событиях CoreWindow.

Приостановка и возобновление работы

Научитесь восстанавливать приложение в подходящее для представления состояние после закрытия приложения. Это обязательное требование для большинства приложений.

Активация приложения (DirectX и C++)

Разбор кода, демонстрирующего активацию приложения Магазина Windows на DirectX.

Приостановка работы приложения (DirectX и C++)

Разбор кода, демонстрирующего приостановку работы приложения Магазина Windows на DirectX.

Возобновление работы приложения (DirectX и C++)

Разбор кода, демонстрирующего возобновление работы приложения Магазина Windows на DirectX.

 

Разработка двумерной графики

При создании приложения с двумерной графикой у вас есть несколько вариантов, от XAML до Direct2D и DirectWrite, которые также можно использовать в сочетании.

РазделОписание

Краткое руководство для работы в Direct2D

Перейдите к разработке Direct2D без промедления. Создайте двумерное приложение или воспользуйтесь предоставленными примитивами, чтобы создать собственный интерфейс или накладываемое изображение.

Создание простого приложения Direct2D

Ознакомьтесь с базовой структурой классического приложения Direct2D.

Введение в DirectWrite

Получите сведения о DirectWrite и отображении текста в приложениях DirectX.

Начало работы с DirectWrite

Изучите краткое руководство по возможностям DirectWrite.

Руководство по программированию для Direct2D

Изучите различные возможности Direct2D с точки зрения кода.

 

Разработка трехмерной графики

Direct3D 11.1 представляет собой разнообразный и мощный набор графических и мультимедийных API, которые можно использовать для создания привлекательных приложений (читай: игр) на данной платформе. DXGI предоставляет инфраструктуру, которая позволяет вам получить доступ к оборудованию графического адаптера.

РазделОписание

Начало работы с Direct3D

Начните работу с Direct3D и Direct3D 11.1 в частности. Обратите внимание: это НЕ учебник для начинающих программистов трехмерных графических приложений.

Возможности Direct3D 11.1

Узнайте больше о возможностях, доступных в Direct3D 11.1, и о том, как можно с их помощью улучшить приложение Магазина Windows с использованием DirectX.

Руководство по программированию для Direct3D 11

Научитесь разрабатывать приложения с использованием новой модели и возможностей Direct3D 11.

Руководство по программированию для HLSL

Научитесь разрабатывать подпрограммы шейдеров на основе HLSL для приложений DirectX. Шейдеры являются основой современных визуальных элементов Direct3D.

Руководство по программированию для DXGI

Узнайте больше о разработке с использованием низкоуровневых программных интерфейсов DirectX для работы с графикой (DXGI). С ними должен быть знаком каждый разработчик DirectX.

Руководство по программированию DirectXMath

Математика трудна. (Для некоторых из нас.) Изучите программные интерфейсы DirectXMath, которые предоставляют типы, хорошо совместимые с графикой, и упрощают многие типовые функции линейной алгебры. Это портированная версия XNAMath для C++.

 

Разработка средств воспроизведения звука и видео

На каком-то этапе вам может понадобиться добавить в приложение DirectX средства воспроизведения звука и видео.

РазделОписание

Работа со звуком в игре DirectX

Изучите варианты добавления средств воспроизведения звука и музыки в приложение Магазина Windows с использованием DirectX.

Краткое руководство: видео и звук

Внедрите мультимедийные элементы в свое приложение Магазина Windows.

Введение в XAudio2

Получите начальные сведения об XAudio2, мощной библиотеке для микширования и воспроизведения звука.

Пакет SDK Microsoft Media Foundation

Изучите программные интерфейсы Microsoft Media Foundation, которые поддерживают мощные и гибкие возможности воспроизведения и ускорения видео.

 

Программирование игровых универсальных приложений Windows на C++

Вы разработчик игр? (Отвечайте "да". Даже если это не так, все будет отлично.)

РазделОписание

Разработка игр

Страница портала для разработки игр в приложениях Магазина Windows.

Перенос из OpenGL ES 2.0 на Direct3D 11

Руководство по выполнению переноса игры из OpenGL ES 2.0 в Магазин Windows.

Перенос из DirectX 9 в Магазин Windows

Руководство по выполнению переноса игры из DirectX 9.0 на DirectX 11.2.

Добавление возможностей Магазина Windows для игр DirectX 11

Узнайте, как добавить возможности приложения Магазина Windows в вашу новую игру.

Основные сведения о разработке игр Магазина Windows с использованием DirectX

Подробный завершенный образец игрового приложения Магазина Windows на языке C++ с использованием DirectX с акцентированием внимания на проектировании кода игры.

 

Публикация и продажа приложений Магазина Windows с использованием DirectX

РазделОписание

Требования к публикации игр в Windows

Узнайте о средстве GDFMaker, системе возрастных категорий и о том, как создать пакет игры для продажи в Магазине Windows.

Разработка для разных уровней возможностей DirectX

Узнайте об уровнях возможностей DirectX и требованиях к приложениям DirectX для конкретных платформ.

Создание пакета игры Магазина Windows на DirectX

Узнайте, как создавать пакеты игр с большими или локализованными ресурсами, чтобы улучшить процесс скачивания из Магазина Windows.

Публикация в Магазине Windows приложений Магазина Windows, использующих Direct3D (DirectX и C++)

Узнайте о публикации в Магазине Windows приложений Магазина Windows, использующих DirectX.

Политика Магазина Windows для приложений Direct3D

Обзор особых политик Магазина Windows для приложений Магазина Windows, использующих DirectX. (См. раздел 3.10.)

Публикация приложений Магазина Windows

Продавая свое приложение в Магазине Windows, вы предлагаете его миллионам пользователей Microsoft Windows во всем мире.

 

Работа с C++/CX

Если вы опытный специалист по C++ на платформах Windows, все может выглядеть для вас немного по-другому. Но лишь немного. Далее приведены указатели на некоторые разделы, которые могут помочь вам разобраться с изменениями, связанными с введением расширений компонентов (CX) и модели асинхронного программирования на основе задач.

РазделОписание

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

Страница верхнего уровня, ссылающаяся на содержимое, относящееся к C++.

Quick Reference (Windows Runtime and Visual C++)

Таблица, содержащая основные сведения об операторах и ключевых словах расширений компонентов Visual C++ (C++/CX).

Type system (C++/CX)

Справочное содержимое для типов, поддерживаемых C++/CX.

Namespaces (C++/CX)

Справочное содержимое для пространств имен, содержащих специфические типы C++, которые можно использовать в приложениях Магазина Windows.

 

Асинхронное программирование (DirectX и C++)

Узнайте больше об асинхронном и многопоточном программировании приложений и игр DirectX.

Асинхронное программирование на языке C++

Описание основных способов использования класса задачи для применения асинхронных методов среды выполнения Windows.

Создание асинхронных операций на языке C++ для приложений Магазина Windows

Описание способов использования create_async для создания асинхронных методов.

task Class (Concurrency Runtime)

Справочная документация для класса задачи.

Параллельное выполнение задач (параллельная среда выполнения)

Подробное обсуждение класса задачи и способов его использования.

 

Другие полезные библиотеки для программирования приложений Магазина Windows на языке C++

Библиотека стандартных шаблонов C++

Типы среды выполнения Windows хорошо работают с типами библиотеки стандартных шаблонов. В большинстве приложений Магазина Windows на C++ используются коллекции и алгоритмы библиотеки стандартных шаблонов за исключением границы интерфейса ABI.

Библиотека параллельных шаблонов

Библиотека параллельных шаблонов предоставляет алгоритмы и типы, упрощающие параллельное выполнение задач и использование данных на ЦП.

Технология C++ Accelerated Massive Parallelism (C++ AMP)

C++ AMP предоставляет доступ к графическому процессору для параллельной обработки данных общего назначения на видеоадаптерах, поддерживающих DirectX 11.

 

 

 

Показ:
© 2016 Microsoft