共用方式為


gather4_c (sm5 - asm)

gather4 相同,不同之處在于此入侵會在紋素上執行比較,類似于 sample_c

gather4_c[_aoffimmi(u,v)] dest[.mask], srcAddress[.swizzle], srcResource[.swizzle], srcSampler[.r], srcReferenceValue
項目 說明
dest
[in]作業結果的位址
srcAddress
[in]一組紋理座標。
srcResource
[in]紋理暫存器。
srcSampler
[in]取樣器暫存器。
srcReferenceValue
[in]已選取單一元件的暫存器,用於比較。

備註

如需 srcReferenceValue 如何 與每個擷取的紋素進行比較的描述,請參閱 sample_c 不同于 sample_c,gather4_c 會傳回每個比較結果,而不是篩選結果。 作業的順序為 srcReferenceValue {ComparisonFunction} texel.R

對於 TextureCube 角落,其中有三個真正的紋素,第四個必須合成,合成必須在比較步驟之後發生。 這表示聯結紋素的傳回比較結果可以是 0、0.33、0.66 或 1。 某些實作可能只針對合成紋素傳回 0 或 1。 除了可能的結果清單之外,合成紋素的方法並未指定。

如果是具有 float32 元件的格式,如果所擷取的值已正規化或 +-INF,則會在未觸及的比較作業中使用。 NaN 用於比較作業中做為 NaN,但 NaN 的確切位標記法可能會變更。 反數會排清為零,以進入比較。 對於 TextureCubes,遺漏第 4 個材質的一些合成必須在角落髮生,因此不會套用合成紋素傳回未變更位的概念。

gather4_c 支援 的格式與sample_c 支援 的格式相同。 這些是單一元件格式,因此 為 。srcSampler 上的 R,而不是任意的旋轉。 未系結資源上的gather4_c 會傳回 0。

使用此指示進行自訂陰影對應篩選。

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

端點 船體 網域 幾何 圖元 計算
X X X X X X

最小著色器模型

下列著色器模型中支援此指示:

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

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