Модель шейдера 4

Модель шейдера 4 является надмножеством возможностей в модели шейдера 3, за исключением того, что модель шейдера 4 не поддерживает функции в модели шейдера 1. Он был разработан с использованием ядра common-шейдера, которое предоставляет общий набор функций для всех программируемых шейдеров, которые можно программировать только с помощью HLSL.

Компонент Функция
Набор инструкций Функции HLSL
Регистрация набора Набор регистров доступен через члены в буферах констант и текстур, используя семантику HLSL для таких вещей, как упаковка компонентов.
Максимум вершинного шейдера Без ограничений
Максимальное число шейдеров пикселей Без ограничений
Добавлены новые профили шейдеров gs_4_0, ps_4_0, vs_4_0, gs_4_1*, ps_4_1*, gs_4_1*
Добавлен новый профиль Effect-Framework fx_4_0, fx_4_1*

 

* — gs_4_1, ps_4_1, vs_4_1 и fx_4_1 поддерживаются в Direct3D 10.1 или более поздней версии.

Модель 4 шейдера поддерживает новый этап конвейера — этап геометрического шейдера, который можно использовать для создания или изменения существующей геометрии. Он также включает два новых типа объектов: объект stream-output, предназначенный для потоковой передачи данных из геометрического этапа, и шаблонный объект текстуры, реализующий функции выборки текстуры.

Модель шейдера 4 поддерживает правила упаковки, которые определяют, насколько плотно данные могут быть упорядочены при их хранении. Эти правила описаны в статье Правила упаковки для постоянных переменных

В разделе Сборка модели шейдера 4 описаны инструкции по сборке, которые поддерживаются моделью шейдера 4 и моделью шейдера 4.1.

Модели шейдеров и профили шейдеров