sample_d (sm4 - asm)
使用指定的位址和指定取樣器所識別的篩選模式,從指定的元素/紋理取樣資料。
sample_d[_aoffimmi (u,v,w) ] dest[.mask], srcAddress[.swizzle], srcResource[.swizzle], srcSampler, srcXDerivatives[.swizzle], srcYDerivatives[.swizzle] |
---|
項目 | 描述 |
---|---|
dest |
[in]作業結果的位址。 |
srcAddress |
[in]一組紋理座標。 如需詳細資訊,請參閱 範例 指示。 |
srcResource |
[in]紋理暫存器。 如需詳細資訊,請參閱 範例 指示。 |
srcSampler |
[in]取樣器暫存器。 如需詳細資訊,請參閱 範例 指示。 |
srcXDerivatives |
[in]X 方向來源位址的衍生專案。 如需詳細資訊,請參閱一節。 |
srcYDerivatives |
[in]Y 方向來源位址的衍生專案。 如需詳細資訊,請參閱一節。 |
備註
這個指令的行為就像 範例 指令,不同之處在于 x 方向的來源位址衍生專案和 y 方向分別由額外的參數 srcXDerivatives 和 srcYDerivatives提供。 這些衍生專案位於標準化紋理座標空間中。
srcXDerivatives (POS-swizzle) r、g 和 b 元件提供 du/dx、dv/dx 和 dw/dx。 忽略 POS-swizzle) ('a' 元件。
srcYDerivatives (POS-swizzle) r、g 和 b 元件提供 du/dy、dv/dy 和 dw/dy。 忽略 POS-swizzle) ('a' 元件。
不同于允許在 2x2 戳記之間共用單一 LOD 計算 的範例 指令, sample_d 必須在圖元著色器中使用時,完全獨立計算每個圖元的 LOD。
如果 sample_d 的衍生輸入來自圖元著色器中的衍生計算指令,且值包括 INF/NaN, sample_d 的行為可能不符合隱含計算衍生的 範例 指令。 INF/NaN 值可能會以不同的方式影響 LOD 計算。
從沒有任何系結至的輸入位置擷取會針對所有元件傳回 0。
限制
- sample_d 會繼承與 範例 指令相同的限制,以及其其他參數的限制。
- srcXDerivatives 和 srcYDerivatives 必須是 temp (r#/x#) 、constantBuffer (cb#) 、input (v#) registers 或 immediate value (s) 。
本指示適用于下列著色器階段:
頂點著色器 | 幾何著色器 | 像素著色器 |
---|---|---|
X | X | x |
最小著色器模型
下列著色器模型支援此函式。
著色器模型 | 支援 |
---|---|
著色器模型 5 | 是 |
著色器模型 4.1 | 是 |
著色器模型 4 | 是 |
著色器模型 3 (DirectX HLSL) | 否 |
著色器模型 2 (DirectX HLSL) | 否 |
著色器模型 1 (DirectX HLSL) | 否 |