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:

  1. Один и тот же модификатор .xyz или .xyw должен применяться к каждому чтению отдельного регистра t(n) в инструкциях texcrd или texld. Если xyw используется для операций чтения регистра t(n), это можно смешать с другими считываниями того же регистра t(n) с помощью .xyw_dw.
  2. Модификатор источника _dz действителен только в texld с регистром источника r(n) (таким образом, только этап 2).
  3. Модификатор источника _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

Инструкции по шейдеру пикселей