texld — ps_1_4
Загружает регистр назначения с выборкой цветовых данных (RGBA), используя содержимое исходного регистра в качестве координат текстуры. Выборка текстуры — это текстура, связанная с номером регистра назначения.
texld dst, src |
---|
Регистры
Значение | Описание | Vn | Cn | Tn | Rn | Версия шейдера пикселей |
---|---|---|---|---|---|---|
dst | Регистр назначения | x | 1_4 | |||
src | Регистр источника | x | 1_4, этап 1 | |||
x | x | Этап 1_4 |
При использовании r(n) в качестве исходного регистра первые три компонента (XYZ) должны быть инициализированы на предыдущем этапе шейдера.
Дополнительные сведения о регистрах см . в разделе ps_1_1__ps_1_2__ps_1_3__ps_1_4 Registers.
Комментарии
В этой инструкции выполняется выборка текстуры на этапе текстуры, связанной с номером регистра назначения. Выборка текстуры выполняется с использованием данных координат текстуры из исходного регистра.
Синтаксис инструкций texld и texcrd предоставляет поддержку проективного деления с модификатором регистра текстуры. Для пиксельного шейдера версии 1.4 флаг преобразования текстуры D3DTTFF_PROJECTED всегда игнорируется.
Правила использования texld:
- Один и тот же модификатор .xyz или .xyw должен применяться к каждому чтению отдельного регистра t(n) в инструкциях texcrd или texld. Если xyw используется для операций чтения регистра t(n), это можно смешать с другими считываниями того же регистра t(n) с помощью .xyw_dw.
- Модификатор источника _dz действителен только в texld с регистром источника r(n) (таким образом, только этап 2).
- Модификатор источника _dz можно использовать не более двух раз на шейдер.
Версии шейдера пикселей | 1_1 | 1_2 | 1_3 | 1_4 | 2_0 | 2_x | 2_sw | 3_0 | 3_sw |
---|---|---|---|---|---|---|---|---|---|
texld | x |
Примеры
Инструкция texld позволяет управлять тем, какие компоненты исходных данных координат текстуры используются. Ниже приведен полный набор разрешенного синтаксиса для texld, который включает все допустимые модификаторы исходного регистра, селекторы и сочетания маски записи.
texld r(m), t(n).xyz
// Uses xyz from t(n) to sample 1D, 2D, or 3D texture
texld r(m), t(n)
// Same as previous
texld r(m), t(n).xyw
// Uses xyw (skipping z) from t(n) to sample 1D, 2D or 3D texture
texld r(m), t(n)_dw.xyw
// Samples 1D or 2D texture at x/w, y/w from t(n). The result
// is undefined for a cube-map lookup.
texld r(m), r(n).xyz
// Samples 1D, 2D, or 3D texture at xyz from r(m)
// This is possible in the second phase of the shader
texld r(m), r(n)
// Same as previous
texld r(m), r(n)_dz.xyz
// Samples 1D or 2D texture at x/z, y/z from r(m)
// Possible only in second phase
// The result is undefined for a cube-map lookup
texld r(n), r(n)_dz
// Same as previous
Связанные темы