Средства Visual Studio для программирования игр
Сводка
- Создание проекта игры DirectX на основе шаблона
- Инструменты Visual Studio для программирования игр DirectX
Если вы используете Visual Studio Ultimate для разработки приложений DirectX, существуют дополнительные средства для создания, редактирования, предварительного просмотра и экспорта ресурсов образов, моделей и шейдеров. Существуют также средства, которые можно использовать для преобразования ресурсов во время сборки и отладки графического кода DirectX.
В этом разделе представлен обзор этих графических инструментов.
Редактор изображений
Используйте редактор изображений для работы с типами форматов форматов текстур и изображений, используемых DirectX. Редактор изображений поддерживает следующие форматы.
- PNG
- JPG, JPEG, JPE, JFIF
- DDS
- .gif
- BMP
- .фишка
- TIF, TIFF
- TGA
Создайте файлы настройки сборки, чтобы преобразовать их в .dds файлы во время сборки.
Дополнительные сведения см. в статье "Работа с текстурами и изображениями".
Обратите внимание , что редактор изображений не предназначен для замены полнофункциональное приложение редактирования изображений, но подходит для многих простых сценариев просмотра и редактирования.
Редактор моделей
С помощью редактора моделей можно создавать базовые трехмерные модели с нуля или просматривать и изменять более сложные трехмерные модели из полнофункционированных трехмерных инструментов моделирования. Редактор моделей поддерживает несколько форматов трехмерных моделей, которые используются при разработке приложений DirectX. Файлы настройки сборки можно создать для преобразования этих файлов в CMO-файлы во время сборки.
- .fbx
- .dae
- .obj
Ниже приведен снимок экрана модели в редакторе с примененным освещением.
Дополнительные сведения см. в статье "Работа с трехмерными моделями".
Обратите внимание , что редактор моделей не предназначен для замены полного приложения редактирования модели функций, но подходит для многих простых сценариев просмотра и редактирования.
Конструктор шейдеров
Используйте конструктор шейдеров для создания пользовательских визуальных эффектов для игры или приложения, даже если вы не знаете программирование HLSL.
Вы создаете шейдер визуально в виде графа. Каждый узел отображает предварительный просмотр выходных данных до этой операции. Ниже приведен пример применения освещения Ламберта с предварительным просмотром сферы.
Используйте редактор шейдеров для проектирования, редактирования и сохранения шейдеров в формате DGSL. Он также экспортирует следующие форматы.
- .hlsl (исходный код)
- .cso (bytecode)
- .h (массив байт-кода HLSL)
Создайте файлы настройки сборки для преобразования любого из этих форматов в CSO-файлы во время сборки.
Ниже приведена часть кода HLSL, экспортированного редактором шейдеров. Это только код для узла освещения Ламберта.
//
// Lambert lighting function
//
float3 LambertLighting(
float3 lightNormal,
float3 surfaceNormal,
float3 materialAmbient,
float3 lightAmbient,
float3 lightColor,
float3 pixelColor
)
{
// Compute the amount of contribution per light.
float diffuseAmount = saturate(dot(lightNormal, surfaceNormal));
float3 diffuse = diffuseAmount * lightColor * pixelColor;
// Combine ambient with diffuse.
return saturate((materialAmbient * lightAmbient) + diffuse);
}
Дополнительные сведения см. в разделе "Работа с шейдерами".
Настройка сборки для трехмерных ресурсов
Вы можете добавить настройки сборки в проект, чтобы Visual Studio преобразовывает ресурсы в доступные для использования форматы. После этого вы можете загрузить активы в приложение и использовать их, создавая и заполняя ресурсы DirectX аналогично любому другому приложению DirectX.
Чтобы добавить настройку сборки, щелкните проект правой кнопкой мыши в Обозреватель решений и выберите "Настройки сборки...". В проект можно добавить следующие типы настроек сборки.
- Конвейер содержимого изображения принимает файлы изображений в качестве входных и выходных файлов DirectDraw Surface (.dds).
- Конвейер содержимого сетки принимает файлы сетки (например, FBX) и выводит файлы сетки CMO.
- Конвейер содержимого шейдера принимает граф визуального шейдера (DGSL) из редактора шейдеров Visual Studio и выводит скомпилированный файл выходных данных шейдера (CSO).
Дополнительные сведения см. в разделе "Использование 3-D ресурсов" в игре или приложении.
Отладка графики DirectX
Visual Studio предоставляет средства отладки для конкретной графики. Используйте эти средства для отладки таких действий:
- Графический конвейер.
- Стек вызовов событий.
- Таблица объектов.
- Состояние устройства.
- Ошибки шейдера.
- Неинициализированные или неправильные буферы констант и параметры.
- Совместимость версий DirectX.
- Ограниченная поддержка Direct2D.
- Требования к операционной системе и пакету SDK.
Дополнительные сведения см. в разделе "Отладка графики DirectX".