Поделиться через


ps_1_1, ps_1_2, ps_1_3, ps_1_4

Сборщик пиксельных шейдеров состоит из набора инструкций, которые работают с пиксельными данными, содержащимися в регистрах. Операции выражаются в виде инструкций, состоящих из оператора и одного или нескольких операндов. Инструкции используют регистры для передачи данных в ALU шейдера пикселей и из него. Регистры также можно использовать в некоторых инструкциях для хранения временных результатов.

Примечание

Поддержка HLSL для шейдера пикселей 1.x является устаревшей.

 

Инструкции

Существует две main категории инструкций шейдера пикселей: арифметические инструкции и инструкции по адресации текстур. Арифметические инструкции изменяют цветовые данные. Операции адресации текстуры обрабатывают данные координат текстуры и в большинстве случаев— выборку текстуры. Инструкции по шейдеру пикселей выполняются по пикселям; то есть они не знают о других пикселях в конвейере.

Инструкции для адресации текстур используют один слот, но арифметические инструкции можно связать, чтобы включить оба компонента цвета (RGB) и инструкции альфа-компонента в одном слоте.

ps_1_1, ps_1_2, ps_1_3 ps_1_4 Содержит список доступных инструкций.

Если включена многомерная выборка, пиксельные шейдеры запускаются только один раз на пиксель, а не один раз для каждого подпикселя. Multisampling только увеличивает разрешение ребер многоугольников, а также тесты глубины и набора элементов. Например, если включена многомерная выборка 3x3 и найден растрированный треугольник, охватывающий пять из девяти вложенных пикселей для определенного пикселя, то шейдер пикселей запускается один раз, и ко всем пяти вложенным пикселям применяется тот же результат цвета.

Регистры

ps_1_1__ps_1_2__ps_1_3__ps_1_4 Registers содержит список различных регистров, используемых ALU шейдера.

Модификаторы

Модификаторы для ps_1_X можно использовать для изменения функциональных возможностей инструкции или данных, считываемых из регистра или записываемых в нее.

Direct3D 9 требует промежуточных вычислений для поддержания по крайней мере 8-разрядной точности для всех форматов поверхности. Рекомендуется использовать как более высокую точность (12 бит) для математики в стадии, так и насыщенность до 8 бит между этапами текстуры. Изменяемые режимы округления или исключения не поддерживаются. Умножение должно поддерживаться с точностью округления до ближайшего, чтобы свести к минимуму потери точности.

Число выборок

Доступное количество выборок текстур:

  • Для ps_1_0 — ps_1_3 максимальное значение равно 4.
  • Для ps_1_4 максимальное значение равно 6.

Шейдеры пикселей