Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Используйте модификаторы исходного регистра, чтобы изменить значение, считываемое из регистра перед выполнением инструкции. Содержимое исходного регистра остается неизменным. Модификаторы полезны для настройки диапазона регистрирующих данных при подготовке инструкции. Набор модификаторов, называемых селекторами, копирует или реплицирует данные из одного канала (r,g,b,a) в другие каналы.
ps_1_1 — ps_1_4
Эта таблица определяет версии, поддерживающие каждый модификатор:
| Модификаторы исходного регистра | Синтаксис | Версия 1_1 | Версия 1_2 | Версия 1_3 | Версия 1_4 |
|---|---|---|---|---|---|
| смещения | register_bias | X | X | X | X |
| инвертировать | 1 — регистрация | X | X | X | X |
| негейт | -регистрировать | X | X | X | X |
| масштабирование на 2 | register_x2 | X | |||
| масштабирования подписи | register_bx2 | X | X | X | X |
| модификаторы texld и texcrd | register_d* | X | X | X | X |
| регистр источника | register.xyzw | X | X | X | X |
Модификаторы регистра источника можно использовать только в арифметических инструкциях. Их нельзя использовать в инструкциях по адресу текстуры. Исключением из этого является модификатор на 2. Для версии 1_1 масштаб подписи можно использовать в исходном аргументе любой инструкции texm*. Для версии 1_2 или 1_3 подписанный масштаб можно использовать в исходном аргументе любой инструкции адреса текстуры.
Некоторые ограничения модификатора:
- Негейт может сочетаться с предвзятостью, подписанным масштабированием или модификатором scalex2. При объединении нейт выполняется последнее.
- Инверт не может сочетаться с любым другим модификатором.
- Инвертирование, предвзятость, смещение, подписанный масштаб и scalex2 можно объединить с любым из селекторов.
- Модификаторы исходного регистра не должны использоваться для постоянных регистров, так как они вызывают неопределенные результаты. Для версии 1_4 модификаторы констант запрещены и завершаются ошибкой.
ps_2_0 и выше
Для версий ps_2_0 и более поздних версий было упрощено число модификаторов.
Отрицать
Нейтируйте содержимое исходного регистра.
| Модификатор компонентов | Описание |
|---|---|
| - r | Отрицание источника |
Модификатор negate нельзя использовать во втором исходном регистре этих инструкций: m3x2 - ps, m3x3 - ps, m3x4 - ps, m4x3 - ps, а m4x4 - ps.
| Версии шейдера пикселей | 2_0 | 2_x | 2_sw | 3_0 | 3_sw |
|---|---|---|---|---|---|
| - | x | x | x | x | x |
Абсолютная величина
Примите абсолютное значение регистра.
| Версии шейдера пикселей | 2_0 | 2_x | 2_sw | 3_0 | 3_sw |
|---|---|---|---|---|---|
| пресс | x | x |
Если любой шейдер версии 3 считывается из одного или нескольких регистров с плавающей запятой констант (c#), одно из следующих значений должно быть true.
- Все регистры с плавающей запятой должны использовать модификатор ABS.
- Ни один из регистров с плавающей запятой не может использовать модификатор abs.
Связанные разделы