共用方式為


gather4 (sm4.1 - asm)

收集將用於雙向線性篩選作業的四個紋素,並將其封裝成單一暫存器。

gather4[_aoffimmi (u,v) ] dest[.mask], srcAddress[.swizzle], srcResource[.swizzle], srcSampler.r
項目 描述
dest
[in]作業結果的位址。
srcAddress
[in]包含紋理座標。
srcResource
[in]資源暫存器。
swizzle 可讓傳回的值在寫入 dest之前任意撥動。
srcSampler
[in]取樣器暫存器。
此參數必須有 .r (紅色) swizzle,這表示 R 通道的值已複製到 dest

備註

這項作業只適用于單一通道 2D 或 CubeMap 紋理。 針對 2D 紋理,只會使用取樣器的定址模式,並使用任何 Mip 金字塔的最上層。

此指令的行為就像 範例 指令,但不會產生篩選的樣本。 有助於篩選的四個樣本會以逆時針順序放入 xyzw 中,從查詢位置左下角的樣本開始。 這與 (u,v) 紋理座標差異位於下列位置的點取樣相同: (-,+) , (+,+) , (+,-) , (-,-) ,其中差異的大小一律為半紋素。

針對 CubeMap 紋理,當使用雙線性使用量跨越鄰近臉部的邊緣紋素時。 角落使用與 範例 指令相同的規則;這是未擁有的角落,會被視為三個插播臉部角落的平均值。

套用至 範例 指令的紋理格式限制也適用于 gather4 指令。

對於硬體實作,傳統雙向線性篩選中的優化會直接偵測紋素上的樣本,並略過讀取具有權數 0 的紋素,無法搭配 gather4使用。 gather4 一律會傳回所有要求的紋素。

本指示適用于下列著色器階段:

頂點著色器 幾何著色器 像素著色器
x x x

最小著色器模型

下列著色器模型支援此函式。

著色器模型 支援
著色器模型 5
著色器模型 4.1
著色器模型 4
著色器模型 3 (DirectX HLSL)
著色器模型 2 (DirectX HLSL)
著色器模型 1 (DirectX HLSL)

著色器模型 4 元件 (DirectX HLSL)