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


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

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

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

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

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

Имя Описание Слоты инструкций Настройка Арифметический Управление потоком Создать
abs - vs Абсолютное значение 1 x x
add — vs Добавление двух векторов 1 x
вызов — и Вызов подпрограммы 2 x x
callnz bool - vs Вызов подпрограммы, если логический регистр не равен нулю 3 x x
crs — vs Перекрестный продукт 2 x x
dcl_usage входные данные (sm1, sm2, sm3 - vs asm) Объявление регистров входных вершин (см . раздел Регистры — vs_2_0) 0 x
def — и Определение констант 0 x
defb — и Определение логической константы 0 x x
defi — vs Определение целочисленной константы 0 x x
dp3 — vs Трехкомпонентный точечный продукт 1 x
dp4 — vs Четырехкомпонентный точечный продукт 1 x
dst — vs Вычисление вектора расстояния 1 x
else — против Начало другого — и блок 1 x x
endif — vs Завершение если bool - против... else — и block 1 x x
endloop - vs Конец цикла — и блок 2 x x
endrep — vs Конец блока повтора 2 x x
exp — vs Полная точность 2x 1 x
expp — vs Частичная точность 2x 1 x
frc — vs Дробный компонент 1 x
если bool - vs Начало логического значения if — и блока (с помощью логического условия) 3 x x
label — и Метка 0 x x
lit - vs Вычисление частичного освещения 3 x
log — и Журнал полной точности(x) 1 x
logp — vs Журнал частичной точности(x) 1 x
цикл — и Loop 3 x x
lrp — vs Линейная интерполяция 2 x x
m3x2 — vs Умножить 3x2 2 x
m3x3 — против Умножить 3x3 3 x
m3x4 — по сравнению с Умножить 3x4 4 x
m4x3 — против Умножить 4x3 3 x
m4x4 — против Умножить 4x4 4 x
mad - vs Умножение и добавление 1 x
max — vs Максимум 1 x
min — vs Минимальные 1 x
mov — и Переместить 1 x
mova — против Перемещение данных из регистра с плавающей запятой в регистр адресов (a0) 1 x x
mul — vs Multiply 1 x
nop — vs Нет операции 1 x
nrm — vs Нормализация 4D-вектора 3 x x
pow - vs xy 3 x x
rcp — vs Взаимные 1 x
rep - vs Повторить 3 x x
ret — vs Окончание подпрограммы или main 1 x x
rsq — vs Обратный квадратный корень 1 x
sge - vs Сравнение больше или равно 1 x
sgn — vs Знак 3 x x
sincos - vs Синус и косинус 8 x x
slt — vs Меньше сравнения 1 x
sub - vs Subtract 1 x
Vs Версия 0 x

 

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