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


Инструкции — vs_3_0

В этом разделе содержатся справочные сведения о шейдере вершин версии 3_0.

Существует несколько типов инструкций шейдера вершин, как показано в таблице. Столбцы справа означают следующее:

  • Слоты инструкций — количество слотов инструкций, используемых каждой инструкцией.
  • Настройка — арифметические инструкции. Каждый шейдер должен иметь инструкцию версии, и она должна быть первой инструкцией.
  • Арифметика — эти инструкции предоставляют математические операции в шейдере.
  • Текстура — эти инструкции поддерживают поиск адресов текстур.
  • Управление потоком — эти инструкции добавляют такие элементы управления потоком, как циклы, повторы и , если логическое значение — и...остальные...конечная сравнения.
  • Новые — эти инструкции являются новыми для этой версии.

Набор инструкций

Имя Описание Слоты инструкций Настройка Арифметика Текстура Управление потоком Новые функции
abs - vs Абсолютная величина 1 x
добавление — и Добавление двух векторов 1 x
перерыв - и Разрыв из цикла - vs...endloop - vs или rep...endrep блок 1 x
break_comp — vs Условный разрыв из цикла - vs...endloop - vs или rep...endrep блок, с сравнением 3 x
останова — и Разрыв из цикла - vs...endloop - vs или rep...endrep блок, основанный на предикате 3 x
вызов — vs Вызов подпрограммы 2 x
callnz bool - vs Вызов подпрограммы, если логический регистр не равен нулю 3 x
callnz pred - vs Вызов подпрограммы, если регистр предиката не равен нулю 3 x
crs - vs Перекрестный продукт 2 x
dcl_usage входные данные (sm1, sm2, sm3 - vs asm) Объявление входных регистров вершин (см. Регистры — vs_3_0) 0 x
dcl_samplerType (sm3 - vs asm) Объявление измерения текстуры для примера 0 x x
def — и Определение констант 0 x
defb - vs Объявление логического константы 0 x
дефи — vs Объявление целочисленной константы 0 x
dp3 — vs Трехкомпонентный продукт dot 1 x
dp4 — vs Продукт с четырьмя компонентами 1 x
dst — vs Расстояние 1 x
else - vs Начало блока 1 x
endif — vs Завершение , если bool - vs... блок 1 x
endloop - vs Конец цикла — и блок 2 x
endrep — vs Конец блока повтора 2 x
exp — и Полная точность 2x 1 x
expp - vs Частичная точность 2x 1 x
frc - vs Дробный компонент 1 x
если логическое значение — и Начните , если логическое значение — и блок (с использованием логического условия) 3 x
if_comp — и Начните , если логическое значение — и блок, с сравнением 3 x
, если предопределено — и Начните , если логическое значение — и блок с условием предиката 3 x
метка — и Ярлык 0 x
свет - и Вычисление освещения 3 x
журнал — и Полный журнал точности (x) 1 x
logp — vs Журнал частичной точности (x) 1 x
цикл — и Петля 3 x
lrp - vs Линейная интерполяция 2 x
m3x2 — и Умножение 3x2 2 x
m3x3 — vs 3x3 умножение 3 x
m3x4 — vs Умножение 3x4 4 x
m4x3 — vs Умножение 4x3 3 x
m4x4 — vs Умножение 4x4 4 x
сумасшедший - vs Умножение и добавление 1 x
максимальное — и Максимум 1 x
мин - и Минимум 1 x
mov - vs Двигаться 1 x
mova - vs Перемещение данных из регистра с плавающей запятой в целочисленный регистр 1 x
mul - vs Умножать 1 x
nop - vs Нет операции 1 x
nrm — vs Нормализовать 3 x
pow - vs xy 3 x
rcp — vs Взаимный 1 x
rep - vs Повторять 3 x
ret - vs Конец подпрограммы 1 x
rsq — vs Корень взаимной квадратной площади 1 x
setp_comp — vs Настройка регистра предиката 1 x
sge - vs Больше или равное сравнение 1 x
sgn - vs Знак 3 x
sincos - vs Синус и косинус 8 x
slt - vs Меньше сравнения 1 x
вложенная — и Вычитать 1 x
texldl — vs Загрузка текстур с пользовательским уровнем детализации См. примечание 1 x x
и Версия 0 x

 

Примечания:

  • Значение , если текстура является картой куба, слоты = 5; в противном случае слоты = 2

Инструкции шейдера вершин