Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом разделе содержатся справочные сведения о версии шейдера пикселей, 2_x инструкции.
Существует несколько типов инструкций шейдера пикселей, как показано в таблице. Столбцы справа означают следующее:
- Слоты инструкций — количество слотов инструкций, используемых каждой инструкцией.
- Настройка— шейдер пикселей должен иметь инструкцию версии, и она должна быть первой инструкцией.
- Арифметика — эти инструкции предоставляют математические операции в шейдере.
- Текстура — эти инструкции используются для загрузки и выборки данных текстуры, а также для изменения координат текстуры.
- Управление потоками — эти инструкции предоставляют статический и динамический поток управления выполнением инструкций.
- Новые — эти инструкции являются новыми для этой версии.
Набор инструкций
| Имя | Описание | Слоты инструкций | Настройка | Арифметика | Текстура | Управление потоком | Новые функции |
|---|---|---|---|---|---|---|---|
| abs - ps | Абсолютная величина | 1 | x | ||||
| добавление — ps | Добавление двух векторов | 1 | x | ||||
| перерыв — ps | Вырваться из реа... Блок endrep | 1 | x | x | |||
| break_comp — ps | Условно вырваться из реа... Блок endrep с сравнением | 3 | x | x | |||
| разрыв — ps | Вырваться из реа... Блок endrep, основанный на предикате | 3 | x | x | |||
| вызов — ps | Вызов подпрограммы | 2 | x | x | |||
| callnz bool - ps | Вызов подпрограммы, если логический регистр не равен нулю | 3 | x | x | |||
| callnz pred - ps | Вызов подпрограммы, если регистр предиката не равен нулю | 3 | x | x | |||
| cmp — ps | Сравнение источника с 0 | 1 | x | ||||
| crs - ps | Перекрестный продукт | 2 | x | ||||
| dcl_samplerType (sm2, sm3 - ps asm) | Объявление измерения текстуры для примера | 0 | x | ||||
| dcl - (sm2, sm3 - ps asm) | Объявите связь между регистрами выходных данных вершинного шейдера и регистрами входных данных шейдера пикселей. | 0 | x | ||||
| def — ps | Определение констант | 0 | x | ||||
| defb — ps | Определение логического константы | 0 | x | x | |||
| defi — ps | Определение целочисленной константы | 0 | x | x | |||
| dp2add — ps | 2D dot product and add | 2 | x | ||||
| dp3 — ps | 3D dot product | 1 | x | ||||
| dp4 — ps | 4D dot product | 1 | x | ||||
| dsx — ps | Скорость изменения в направлении x | 2 | x | x | |||
| dsy — ps | Скорость изменения в направлении y | 2 | x | x | |||
| else - ps | Начать другой блок | 1 | x | x | |||
| endif — ps | Конец если... else block | 1 | x | x | |||
| endrep — ps | Конец блока повтора | 2 | x | x | |||
| exp — ps | Полная точность 2x | 1 | x | ||||
| frc — ps | Дробный компонент | 1 | x | ||||
| , если bool - ps | Начало блока if | 3 | x | x | |||
| if_comp — ps | Начало блока if с сравнением | 3 | x | x | |||
| , если предварительно — ps | Начало блока с предикатом | 3 | x | x | |||
| метка — ps | Ярлык | 0 | x | x | |||
| журнал — ps | Полный журнал точности (x) | 1 | x | ||||
| lrp — ps | Линейная интерполяция | 2 | x | ||||
| m3x2 — ps | Умножение 3x2 | 2 | x | ||||
| m3x3 — ps | 3x3 умножение | 3 | x | ||||
| m3x4 — ps | Умножение 3x4 | 4 | x | ||||
| m4x3 — ps | Умножение 4x3 | 3 | x | ||||
| m4x4 — ps | Умножение 4x4 | 4 | x | ||||
| сумасшедший - ps | Умножение и добавление | 1 | x | ||||
| максимальное — ps | Максимум | 1 | x | ||||
| мин - ps | Минимум | 1 | x | ||||
| mov - ps | Двигаться | 1 | x | ||||
| mul - ps | Умножать | 1 | x | ||||
| nop — ps | Нет операции | 1 | x | ||||
| nrm — ps | Нормализовать | 3 | x | ||||
| pow - ps | xy | 3 | x | ||||
| ps | Версия | 0 | x | ||||
| rcp — ps | Взаимный | 1 | x | ||||
| rep — ps | Повторять | 3 | x | x | |||
| ret — ps | Конец подпрограммы | 1 | x | x | |||
| rsq — ps | Корень взаимной квадратной площади | 1 | x | ||||
| setp_comp | Настройка регистра предиката | 1 | x | x | |||
| sincos - ps | Синус и косинус | 8 | x | ||||
| sub — ps | Вычитать | 1 | x | ||||
| texkill - ps | Убийство отрисовки пикселей | См. примечание 1 | x | ||||
| texld - ps_2_0 и вверх | Пример текстуры | См. примечание 2 | x | ||||
| texldb — ps | Выборка текстуры с предвзятостью уровня детализации от w-component | См. примечание 3 | x | ||||
| texldd - ps | Выборка текстур с градиентами, предоставляемыми пользователем | 3 | x | x | |||
| texldp — ps | Выборка текстур с проецивным разделением на w-component | См. примечание 4 | x |
Примечания:
- Если D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMIT задано, слоты = 2; в противном случае слоты = 1.
- Если D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMIT задано, а текстура — карта куба, слоты = 4; в противном случае слот = 1.
- Если D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMIT задано, слоты = 6; в противном случае слоты = 1.
- Если D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMIT не задано, слоты = 1; иначе:
- Если задано D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMIT, а текстура — карта куба, слоты = 4.
- Если D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMIT задано, а текстура не является картой куба, слоты = 3.
Связанные разделы