samplepos (sm4.1 — asm)

Запрашивает позицию примера в заданном представлении ресурсов шейдера или в средстве растеризатора.

samplepos dest[.mask], srcResource[.swizzle], sampleIndex
Элемент Описание
Dest
[in] Адрес результатов операции.
srcResource
[in] Ресурс шейдера.
sampleIndex
[in] Индекс выборки (скалярный операнд).

Комментарии

Эта инструкция возвращает двухd-образец позиции sampleIndex для заданного ресурса. Он действителен только для ресурсов, которые можно загрузить с помощью ld2dms, если средство растеризатора не указано как srcResource.

srcResource может быть регистром t# (представлением ресурсов шейдера) или регистром растеризатора.

Инструкция вычисляет вектор с плавающей запятой (Xposition, Yposition, 0, 0).

Swizzle в srcResource позволяет произвольно свертывать возвращаемые значения перед их записью в место назначения. Позиция выборки определяется относительно центра пикселя на основе системы координат пикселей.

Если sampleIndex выходит за пределы границ, возвращается нулевой вектор. Если к указанному слоту нет ресурса, возвращается значение 0.

samplepos можно использовать для таких вещей, как пользовательские разрешения в коде шейдера.

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

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

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

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

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

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