Дорожная карта для классических приложений DirectX
Ниже приведены основные ресурсы, которые помогут вам приступить к работе с DirectX и C++ для разработки графических классических приложений, таких как игры. Это не полный список всех функций или доступных ресурсов.
Начало работы
Ниже приведены некоторые ключевые темы. Настройка проекта DirectX, самостоятельное подключение к Windows и примеры приложений.
Раздел | Описание |
---|---|
Создание первого приложения для Windows с помощью DirectX | Используйте это базовое руководство, чтобы приступить к разработке приложений DirectX, а затем используйте стратегию, чтобы продолжить изучение DirectX. |
Начало работы с DirectX для Windows | Ознакомьтесь с действиями, которые необходимо предпринять, чтобы начать разработку игры с помощью DirectX и C++. |
Полный код для платформы DirectX | Получите код для базовой платформы отрисовки DirectX. |
Использование Direct3D 11 | В этом разделе показано, как использовать API Microsoft Direct3D 11 для выполнения нескольких распространенных задач. |
Руководство по программированию для Direct3D 11 | Руководство по программированию содержит сведения о том, как использовать программируемый конвейер Microsoft Direct3D 11 для создания трехмерной графики в реальном времени для классических приложений. |
Средства для графики DirectX | Документация по средствам, используемым для поддержки разработки DirectX. |
Новые возможности Direct3D 11 | Разбивка всех функций, добавленных в последних версиях DirectX и Direct3D (в настоящее время 11.2). |
Скачайте Visual Studio 2013 | Для создания игр из Магазина Windows необходимо иметь Visual Studio Express 2013 для Windows Desktop. Обзор Visual Studio см. в статье Разработка приложений Магазина Windows с помощью Visual Studio 2012. Сведения о новых функциях Visual Studio см. в статье Основные сведения о продуктах для Visual Studio 2013. |
Где находится пакет SDK для DirectX? | Содержит рекомендации для разработчиков, которые хотят перенести свои проекты DirectX в Microsoft Visual Studio. |
Примеры приложений
Раздел | Описание |
---|---|
Пример win32 для Руководства по Direct3D | Базовый пример учебника по Direct3D для настольных компьютеров. |
Пример отрисовки видео DirectX | Пример, демонстрирующий настраиваемую отрисовку видео с помощью Direct3D. |
Обзор основных понятий Direct3D 11
Раздел | Описание |
---|---|
Графический конвейер | Охватывает базовый графический конвейер Direct3D 11. |
Отрисовка | Охватывает модели отрисовки Direct3D, компоненты, шейдеры и поток вызовов API. |
Ресурсы | Охватывает "ресурсы" Direct3D, такие как буферы и другие типы ресурсов GPU. |
Эффекты | Описание создания и эффектов с поддержкой нескольких шейдеров Direct3D. |
Практическое руководство. Создание цепочки буферов | Создание цепочки буферов, используемой для рисования пикселей в области экрана. |
Практическое руководство. Создание устройства и непосредственного контекста | Как создать абстракцию устройства Direct3D и непосредственный контекст для рисования. |
Практическое руководство. Создание буфера вершин | Как создать простой список вершин сетки для обработки с помощью GPU. |
Практическое руководство. Создание буфера индекса | Как создать буфер индекса, позволяющий шейдеру вершин обходить порядок вершин в сетке. |
Практическое руководство. Создание буфера констант | Как передавать постоянные (однородные) данные между ЦП и GPU во время отрисовки. |
Практическое руководство. Создание текстуры | Как создать текстуру или другой ресурс буфера, который можно использовать для выборки с помощью GPU. |
Практическое руководство. Инициализация текстуры из файла | Как загрузить текстуру из файла и обработать ее для использования конвейером шейдера. |
Практическое руководство. Компиляция шейдера | Как скомпилировать шейдер для использования в графическом приложении. |
API графики
Раздел | Описание |
---|---|
Direct3D 11 | Документация по основным API для виртуализации GPU и его ресурсов, а также для рисования графики с помощью унифицированной модели шейдеров. |
Direct3D HLSL | Справочная документация по High-Level языку шейдеров, синтаксису и правилам, используемым для определения программ шейдеров, выполняемых как часть графического конвейера в единой модели шейдеров. |
Графический интерфейс DirectX (DXGI) | Документация по низкоуровневые API, используемые для получения интерфейса GPU и системных ресурсов. |
Direct2D | Документация по API Direct2D, которые поддерживают рисование двухd-примитивов. Как правило, Direct2D используется для пользовательских интерфейсов, обработки изображений и пакетной обработки, а также для простых игр. |
DirectWrite | Документация по API DirectWrite, которые поддерживают настраиваемую отрисовку и масштабирование шрифтов. |
Компонент обработки изображений Windows (WIC) | Документация по API WIC, которые используются для чтения и управления различными форматами растровых изображений. |
Поверхности DirectDraw (DDS) для текстур | Документация по API DDS, которые используются для сжатия и распаковки двухd текстур в сочетании с API WIC. |
DirectXMath | Документация по API DirectXMath, которые поддерживают Direct3D с набором типов и функций, подходящих для разработки трехмерной графики в реальном времени. (Прежнее название — XNAMath.) |
Directcompute | Документация по API DirectCompute, используемым для вычислительных или общих функциональных возможностей шейдеров. |
API аудио, мультимедиа и ввода
Раздел | Описание |
---|---|
Руководство по программированию для XAudio2 | Узел верхнего уровня для концептуальной документации по API аудио XAudio2. |
Справочник по программированию в XAudio2 | Узел верхнего уровня для справочной документации по API аудио XAudio2. |
Руководство по программированию XInput | Узел верхнего уровня для концептуальной документации по API контроллера XInput. |
Справочник по программированию XInput | Узел верхнего уровня для справочной документации по API контроллера XInput. |
Media Foundation | Узел верхнего уровня для документации по API воспроизведения мультимедиа (аудио и видео) Media Foundation (MF). Как правило, MF используется в играх для воспроизведения звуковых дорожек, а XAudio2 — для динамического звука. |
Перенос в DirectX 11
Раздел | Описание |
---|---|
Переход на Direct3D 11 | Основные рекомендации по переносу базы кода DirectX 9 в DirectX 11. |
Методы двойного использования кодирования для игр | Подробная запись блога о разработке для уровней компонентов DirectX 9_* и DirectX 11_* в одном приложении. |
Реализация теневых буферов для Уровня компонентов Direct3D 9 | Руководство по реализации теневых карт на уровне компонентов DirectX 9_*. |
Работа с C++
Если вы являетесь старой рукой с C++ на платформах Windows, все может выглядеть немного иначе. Ниже приведены некоторые указатели на разделы, которые помогут вам определить разницу.
Примечание
Некоторые из этих разделов помогут вам поддерживать приложение C++/CX. Однако в новых приложениях мы рекомендуем использовать C++/WinRT. C++/WinRT — это полностью стандартная проекция языка C++17 для API среды выполнения Windows (WinRT), реализованная как библиотека на основе файлов заголовков и предназначенная для предоставления вам первоклассного доступа к современным интерфейсам API Windows.
Раздел | Описание |
---|---|
Справочник по языку Visual C++ (C++/CX) | Страница высокого уровня, которая ссылается на содержимое, связанное с C++. |
Краткий справочник (среда выполнения Windows и Visual C++) | Таблица с краткими сведениями об операторах и ключевых словах расширений компонентов Visual C++ (C++/CX). |
Система типов (C++/CX) | Справочные материалы по типам, поддерживаемым C++/CX. |
Пространства имен (C++/CX) | Справочные материалы по пространствам имен, содержащим типы C++, которые можно использовать в приложениях Магазина Windows. |
Раздел | Описание |
---|---|
Асинхронное программирование (DirectX и C++) | Узнайте об асинхронном и многопотоковом программировании для приложений и игр DirectX. |
Асинхронное программирование на языке C++ | Описание основных способов использования класса задач для использования среда выполнения Windows асинхронных методов. |
Класс task (среда выполнения с параллелизмом) | Справочная документация по классу задач. |
Параллелизм задач (среда выполнения с параллелизмом) | Подробное обсуждение класса задач и его использования. |
Дополнительные полезные библиотеки для программирования на C++ в Windows
Раздел | Описание |
---|---|
Стандартная библиотека шаблонов C++ | среда выполнения Windows типы хорошо бывают со стандартными библиотеками шаблонов. Большинство приложений C++ для Магазина Windows используют коллекции и алгоритмы стандартной библиотеки шаблонов, за исключением границЫ ABI. |
Библиотека параллельных шаблонов | PPL предоставляет алгоритмы и типы, упрощающие параллелизм задач и параллелизм данных на ЦП. |
C++ Accelerated Massive Parallelism (C++ AMP) | C++ AMP предоставляет доступ к GPU для параллелизма данных общего назначения на видеоадаптерах, поддерживающих DirectX 11. |
Блоги и другие ресурсы
Раздел | Описание |
---|---|
Блог об играх для Windows и DirectX | Регулярно обновляемый блог на основе ключевого участник разработки DirectX и отличного ресурса для разработчиков DirectX. |
Блог разработчиков Windows DirectX | Официальный блог Windows DirectX. |
Блог Шон Харгрив (Shawn Hargreave)) | Блог разработчика из другого уважаемого участник разработки Для Windows DirectX. |
Набор инструментов DirectX | Пакет инструментов DirectX (DxTK), который содержит ряд полезных API-интерфейсов поддержки для загрузки сеток, воспроизведения звуков и других распространенных вариантов поведения. |
Библиотеки обработки текстур DirectXTex | Библиотека обработки текстур DirectX (DxTEX), которая содержит интерфейсы API поддержки для обработки текстур, а также сжатия и распаковки. |
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по