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

Данные поступают в графический конвейер в виде потока примитивов и обрабатываются этапами шейдера. Фактические этапы шейдера зависят от версии Direct3D, но, безусловно, включают этапы вершины, пикселя и геометрии. Другие этапы включают шейдеры корпусов и доменов для тесселяции, а также вычислительный шейдер. Эти этапы полностью программируются с помощью языка заливки высокого уровня (HLSL).

Шейдеры HLSL можно скомпилировать во время разработки или во время выполнения и установить во время выполнения на соответствующий этап конвейера. Шейдеры Direct3D 9 можно разрабатывать с помощью модели 1 шейдера, модели шейдера 2 и модели 3; Шейдеры Direct3D 10 могут быть разработаны только на модели 4 шейдеров. Шейдеры Direct3D 11 можно разрабатывать на модели 5 шейдеров. Direct3D 11.3 и Direct3D 12 можно разрабатывать на модели шейдера 5.1, а Direct3D 12 — на модели 6.

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

Раздел Описание
Использование связывания шейдеров Мы покажем, как создавать предварительно скомпилированные функции HLSL, упаковать их в библиотеки и связывать с полными шейдерами во время выполнения.
Создание шейдеров HLSL в Direct3D 9
Использование шейдеров в Direct3D 9
Использование шейдеров в Direct3D 10
Оптимизация шейдеров HLSL
Отладка шейдеров в Visual Studio Последнее средство для отладки шейдеров теперь поставляется в виде функции в Microsoft Visual Studio под названием Visual Studio Graphics Debugger.
Компиляция шейдеров Теперь рассмотрим различные способы компиляции кода шейдера и соглашения для расширений файлов для кода шейдера.
Указание целевых объектов компилятора Здесь мы перечислим целевые объекты для различных профилей, которые поддерживаются функциями D3DCompile* и компилятором HLSL.
Распаковка и упаковка DXGI_FORMAT для редактирования изображений In-Place
Использование минимальной точности HLSL Начиная с Windows 8, графические драйверы могут реализовывать скалярные типы данных HLSL с минимальной точностью, используя любую точность, превышающую или равную заданной битовой точности.
Модель шейдера HLSL 5
Модель шейдера HLSL 5.1 В этом разделе описываются функции модели шейдера 5.1, которые применяются на практике к D3D12 и D3D11.3. Все оборудование DirectX 12 поддерживает модель шейдеров 5.1.
HLSL Shader Model 6.0 Описание встроенных функций волновой операции, добавленных в модель шейдера HLSL 6.0.
Модель HLSL шейдера 6.4 Описание встроенных функций машинного обучения, добавленных в модель 6.4 шейдера HLSL.