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) | нет |