gather4 (sm4.1 — asm)

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

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

Комментарии

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

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

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

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

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

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

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

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

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

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

Сборка шейдера модели 4 (DirectX HLSL)