dcl_input (sm4 - asm)

声明着色器输入寄存器。

dcl_input vN[.mask][, interpolationMode]
说明
vN
[in]顶点数据寄存器。
  • N 是标识寄存器号的整数。
  • [.mask] 是一个可选的组件掩码 (.xyzw) ,用于指定要使用的寄存器组件。
interpolationMode
[in] 可选。 内插模式,仅在像素着色器输入寄存器上采用。 可以为下列值之一:
  • 常量 - 不要在寄存器值之间内插。
  • linear - 在寄存器值之间线性内插。
  • linearCentroid - 与线性相同,但在多重采样时夹紧质心。
  • linearNoperspective - 与线性相同,但没有透视校正。
  • linearNoperspectiveCentroid - 与线性相同,多采样时夹紧质心,无透视校正。

内插说明

默认情况下,执行多重采样抗锯齿时,从像素中心内插顶点属性。 如果未覆盖像素中心,则会在内插之前将属性推断为像素中心。

对于未完全覆盖的像素或未覆盖像素中心的属性,可以指定质心采样,强制采样发生在像素的覆盖区域内的某个位置。 由于样本掩码 (如果在计算质心之前应用) ,则无法选择样本掩码屏蔽的任何样本位置作为质心位置。

此指令适用于以下着色器阶段:

顶点着色器 几何着色器 像素着色器
x x x

若要将输入标识为系统值,请使用 dcl_input_sv (sm4 - asm)

包含此指令以帮助调试程序集中的着色器;不能使用着色器模型 4 以汇编语言创作着色器。

示例

下面是一些示例。

dcl_input v3.xyz

dcl_input v0.x, linearCentroid

最小着色器模型

以下着色器模型中支持此函数。

着色器模型 支持
着色器模型 5
着色器模型 4.1
着色器模型 4
着色器模型 3 (DirectX HLSL)
着色器模型 2 (DirectX HLSL)
着色器模型 1 (DirectX HLSL)

着色器模型 4 程序集 (DirectX HLSL)