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


сбор4 (sm4.1 - asm)

Собирает четыре тексели, которые будут использоваться в двухлинейной операции фильтрации и упаковывают их в один регистр.

gather4[_aoffimmi(u,v)] dest[.mask], srcAddress[.swizzle], srcResource[.swizzle], srcSampler.r
Товар Описание
dest
[in] Адрес результата операции.
srcAddress
[in] Содержит координаты текстуры.
srcResource
[in] Регистрация ресурса.
Swizzle позволяет возвращаемым значениям произвольно перемыкаться до их записи в дест.
srcSampler
[in] Регистр примера.
Этот параметр должен иметь swizzle R (красный), который указывает на то, что значение канала R копируется в dest.

Замечания

Эта операция работает только с текстурами 2D или CubeMap с одним каналом. Для двухмерных текстур используются только режимы адресации выборки, а также используется верхний уровень любой пирамиды MIP.

Эта инструкция действует как пример инструкции, но отфильтрованный пример не создается. Четыре примера, которые будут способствовать фильтрации, помещаются в xyzw в порядке счетчика по часовой стрелке, начиная с образца слева от запрашиваемого расположения. Это то же самое, что выборка точек с разностями координат текстуры (u,v) в следующих расположениях: (-,+),(+),(+,-),(-,-), где величина разностных значений всегда составляет половину текселя.

Для текстур CubeMap при использовании двухлинейного следа используется ребра тексели из соседнего лица. В углах используются те же правила, что и пример инструкции; это неизвестный угол считается средним из трех троих углов лиц.

Ограничения формата текстуры, применимые к примеру инструкций, также применяются к инструкции сбора4 .

Для аппаратных реализаций оптимизация в традиционной двухлинейной фильтрации, которая обнаруживает образцы непосредственно на текселях и пропускает чтение текселей, которые имеют вес 0, нельзя использовать с сбором4. сбор4 всегда возвращает все запрошенные тексели.

Эта инструкция применяется к следующим этапам шейдера:

Шейдер вершин Шейдер геометрии Пиксельный шейдер
x x x

Минимальная модель шейдера

Эта функция поддерживается в следующих моделях шейдеров.

Модель шейдера Поддерживается
модели шейдера 5 да
Модель шейдера 4.1 да
модель шейдера 4 нет
Модель шейдера 3 (DirectX HLSL) нет
Модель шейдера 2 (DirectX HLSL) нет
Модель шейдера 1 (DirectX HLSL) нет

сборка шейдера 4 (DirectX HLSL)