Инструкции — 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 |
Связанные темы