dcl_input (sm4 - asm)

Объявляет регистр входных данных шейдера.

dcl_input vN[.mask][, interpolationMode]
Элемент Описание
VN
[in] Регистр данных вершин.
  • N — это целое число, идентифицирующее номер регистра.
  • [.mask] — это необязательная маска компонента (.xyzw), указывающая, какой из компонентов регистра следует использовать.
interpolationMode
[в] Необязательно. Режим интерполяции, который учитывается только в регистрах входных шейдеров пикселей. Может иметь одно из следующих значений.
  • constant — не интерполировать значения регистра.
  • linear — интерполяция линейно между значениями регистра.
  • linearCentroid — то же, что и линейный, но центроид зажат при множественной дискретизации.
  • linearNoperspective — то же, что и линейный, но без коррекции перспективы.
  • linearNoperspectiveCentroid — то же, что и линейный, центроид зажат при множественной выборке, без коррекции перспективы.

Примечания к интерполяции

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

Для пикселя, который не полностью охвачен, или атрибута, который не охватывает центр пикселя, можно указать центроидную выборку, которая заставляет выборку происходит где-то в пределах покрытой области пикселя. Так как маска образца (если используется) применяется перед вычислением центроида, любое расположение образца, маскированное маской образца, не может быть выбрано в качестве центроидного расположения.

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

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

Чтобы определить входные данные как системное значение, используйте dcl_input_sv (sm4 — asm).

Эта инструкция включена для упрощения отладки шейдера в сборке; вы не можете создать шейдер на языке ассемблера с помощью модели 4 шейдера.

Пример

Рассмотрим некоторые примеры.

dcl_input v3.xyz

dcl_input v0.x, linearCentroid

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

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

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

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