Пошаговое руководство: перенос простого приложения Direct3D 9 в DirectX 11 и Магазин Windows

Applies to Windows and Windows Phone

Это упражнение по переносу научит вас переносить простую структуру прорисовки из Direct3D 9 в Direct3D 11 и Магазин Windows.

В этом разделе

ТемаОписание

Инициализация Direct3D 11

Здесь показано, как перенести код инициализации Direct3D 9 в Direct3D 11, в том числе как получить дескрипторы и контекст устройства Direct3D, а также как использовать DXGI для создания цепочки буферов.

Преобразование структуры рендеринга

Здесь показано, как перенести простую инфраструктуру отрисовки с Direct3D 9 на Direct3D 11, включая перенос геометрических буферов, компиляцию и загрузку программ-шейдеров на языке HLSL, а также реализацию цепочки отрисовки в Direct3D 11.

Перенос цикла игры

Здесь показано, как реализовать окно для игрового приложения Магазина Windows или Windows Phone и перенести игровой цикл, включая создание интерфейса IFrameworkView для управления полноэкранным CoreWindow.

 

В этом разделе подробно разобраны две ветви кода, выполняющие одну и ту же базовую задачу обработки графики: отображение вращающегося куба с затененными вершинами. В обоих случаях код включает следующий процесс.

  1. Создание устройства Direct3D и цепочки буферов.
  2. Создание буфера вершин и буфера индексов для отображения цветной кубической сетки.
  3. Создание вершинного шейдера для преобразования вершин в экранное пространство и пиксельного построителя текстуры для смешения значений цвета, компиляция построителей текстуры и их загрузка в качестве ресурсов Direct3D.
  4. Реализация цепи отрисовки и отображение отрисованного куба на экране.
  5. Создание окна, запуск основного цикла и обработка оконных сообщений.

По завершении этого пошагового руководства вы получите представление о следующих основных различиях между Direct3D 9 и Direct3D 11:

  • Разделение устройства, контекста устройства и графической инфраструктуры.
  • Процесс компиляции шейдеров и загрузки их байт-кода во время выполнения.
  • Настройка данных по каждой вершине для этапа сборщика входных данных (IA).
  • Использование IFrameworkView для создания представления CoreWindow.

Обратите внимание, что пошаговое руководство использует CoreWindow для простоты и не описывает межпрограммное взаимодействие XAML.

Предварительные требования

Вам нужно подготовить среду для разработки игр Магазина Windows с использованием DirectX. Шаблон пока не нужен, но потребуется Microsoft Visual Studio 2013, чтобы загрузить примеры кода для этого руководства.

Скачайте Пример переноса простого приложения Direct3D 9 в DirectX 11 и Магазин Windows. Этот пример содержит представленные в данном руководстве ветви кода для Direct3D 9 и Магазина Windows. Хотя в этом примере используется приложение Магазина Windows, рассматриваемые принципы переноса также применимы к приложениям Windows Phone.

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

Связанные разделы

Direct3D
Разработка для разных уровней функций Direct3D
Создание шейдеров HLSL в Direct3D 9
Создание нового проекта DirectX 11 для Магазина Windows
Магазин Windows
Microsoft::WRL::ComPtr
Handle to Object Operator (^)

 

 

Показ:
© 2014 Microsoft