Шаблоны проектов игр DirectX
Шаблоны DirectX и универсальная платформа Windows (UWP) позволяют быстро создавать проект в качестве отправной точки для игры.
Необходимые компоненты
Чтобы создать проект, необходимо выполнить следующие действия.
- Скачайте Microsoft Visual Studio 2015. Visual Studio 2015 имеет инструменты для программирования графики, таких как средства отладки. Общие сведения о графических и игровых функциях и инструментах DirectX см. в статье "Инструменты Visual Studio для разработки игр DirectX".
Выбор шаблона
Visual Studio 2015 включает три шаблона DirectX и UWP:
- Приложение DirectX 11 (универсальная версия Windows) — шаблон приложения DirectX 11 (универсальная windows) создает проект UWP, который отображается непосредственно в окне приложения с помощью DirectX 11.
- Приложение DirectX 12 (универсальная версия Windows) — шаблон приложения DirectX 12 (универсальная windows) создает проект UWP, который отображается непосредственно в окне приложения с помощью DirectX 12.
- Приложение DirectX 11 и XAML (универсальная windows) — шаблон приложения DirectX 11 и XAML (универсальная windows) создает проект UWP, который отрисовывается внутри элемента управления XAML с помощью DirectX 11. В этом шаблоне используется swapChainPanel, поэтому вы можете использовать элементы управления пользовательского интерфейса XAML. Это может упростить добавление элементов пользовательского интерфейса, но использование шаблона XAML может привести к снижению производительности.
Какой шаблон вы выбираете, зависит от производительности и используемых технологий.
Структура шаблона
Универсальные шаблоны Windows DirectX содержат следующие файлы:
- pch.h и pch.cpp — поддержка предварительно скомпилированного заголовка.
- Package.appxmanifest — свойства пакета развертывания для приложения.
- *.pfx — сертификаты для приложения.
- Внешние зависимости — ссылки на внешние файлы, используемые проектом.s
- *Main.h и *Main.cpp — методы для управления ресурсами приложения, обновления состояния приложения и отрисовки кадра.
- App.h и App.cpp — основная точка входа для приложения. Подключает приложение к оболочке Windows и обрабатывает события жизненного цикла приложения. Эти файлы отображаются только в шаблонах приложений DirectX 11 (универсальная windows) и DirectX 12 (универсальная windows).
- App.xaml, App.xaml.cpp и App.xaml.h — основная точка входа для приложения. Подключает приложение к оболочке Windows и обрабатывает события жизненного цикла приложения. Эти файлы отображаются только в шаблоне Приложения DirectX 11 и XAML (универсального приложения Windows).
- DirectXPage.xaml, DirectXPage.xaml.cpp и DirectXPage.xaml.h — страница с directX SwapChainPanel. Эти файлы отображаются только в шаблоне Приложения DirectX 11 и XAML (универсального приложения Windows).
- Содержание
- Sample3DSceneRenderer.h и Sample3DSceneRenderer.cpp — пример отрисовщика, создающего базовый конвейер отрисовки.
- SampleFpsTextRenderer.h и SampleFpsTextRenderer.cpp — отображает текущее значение FPS в правом нижнем углу экрана с помощью Direct2D и DirectWrite. Эти файлы отображаются только в шаблонах приложений DirectX 11 (универсальная windows) и DirectX 11 и XAML App (universal Windows).
- SamplePixelShader.hlsl — простой пример шейдера пикселей.
- SampleVertexShader.hlsl — простой пример шейдера вершин.
- ШейдерСтруктуры.h — структуры, используемые для отправки даты в пример шейдера вершин.
- Общий
- StepTimer.h — вспомогательный класс для анимации и имитации времени.
- DirectXHelper.h — вспомогательные функции Misc.
- DeviceResources.h и Device Resources.cpp — предоставляет интерфейс для приложения, владеющего DeviceResources, чтобы получать уведомления об потере или создании устройства.
- d3dx12.h — содержит библиотеку служебной программы D3DX12. Этот файл отображается только в приложении DirectX 12 (универсальная версия Windows).
- Ресурсы — изображения логотипа и заставки, используемые приложением.
Следующие шаги
Теперь, когда у вас есть отправная точка, добавьте в него знания о разработке игр и навыки разработки игр в Microsoft Store.
Если вы переносите существующую игру, ознакомьтесь со следующими разделами.
Если вы создаете новую игру DirectX, ознакомьтесь со следующими разделами.