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