Руководство по программированию для 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. |