D3D12_STATIC_SAMPLER_DESC 结构 (d3d12.h)

描述静态采样器。

语法

typedef struct D3D12_STATIC_SAMPLER_DESC {
  D3D12_FILTER               Filter;
  D3D12_TEXTURE_ADDRESS_MODE AddressU;
  D3D12_TEXTURE_ADDRESS_MODE AddressV;
  D3D12_TEXTURE_ADDRESS_MODE AddressW;
  FLOAT                      MipLODBias;
  UINT                       MaxAnisotropy;
  D3D12_COMPARISON_FUNC      ComparisonFunc;
  D3D12_STATIC_BORDER_COLOR  BorderColor;
  FLOAT                      MinLOD;
  FLOAT                      MaxLOD;
  UINT                       ShaderRegister;
  UINT                       RegisterSpace;
  D3D12_SHADER_VISIBILITY    ShaderVisibility;
} D3D12_STATIC_SAMPLER_DESC;

成员

Filter

采样纹理时使用的筛选方法,作为 D3D12_FILTER 枚举常量。

AddressU

指定用于解析超出 0 到 1 范围的 u 纹理坐标的D3D12_TEXTURE_ADDRESS_MODE模式。

AddressV

指定用于解析超出 0 到 1 范围的 v 纹理坐标的D3D12_TEXTURE_ADDRESS_MODE模式。

AddressW

指定用于解析超出 0 到 1 范围的 w 纹理坐标的D3D12_TEXTURE_ADDRESS_MODE模式。

MipLODBias

与计算的 mipmap 级别的偏移量。 例如,如果 Direct3D 计算纹理应在 mipmap 级别 3 采样,而 MipLODBias 为 2,则将在 mipmap 级别 5 对纹理采样。

MaxAnisotropy

如果将D3D12_FILTER_ANISOTROPIC或D3D12_FILTER_COMPARISON_ANISOTROPIC指定为筛选器,则使用固定值。 有效值介于 1 和 16 之间。

ComparisonFunc

一个函数,用于将采样数据与现有采样数据进行比较。 函数选项在 D3D12_COMPARISON_FUNC中列出。

BorderColor

D3D12_STATIC_BORDER_COLOR 的一个成员,即为 AddressU、AddressV 或 AddressW 指定D3D12_TEXTURE_ADDRESS_MODE_BORDER时要使用的边框颜色。 范围必须介于 0.0 和 1.0(含)之间。

MinLOD

要固定访问的 mipmap 范围的下端,其中 0 是最大和最详细的 mipmap 级别,任何高于该级别的级别都不太详细。

MaxLOD

要限制访问的 mipmap 范围的上端,其中 0 是最大和最详细的 mipmap 级别,高于该级别的任何级别都不太详细。 此值必须大于或等于 MinLOD。 如果 LOD 没有上限,请将此值设置为较大的值,例如D3D12_FLOAT32_MAX。

ShaderRegister

ShaderRegisterRegisterSpace 参数对应于 HLSL 的绑定语法。 例如,在 HLSL 中:

Texture2D<float4> a : register(t2, space3);

这对应于 ShaderRegister 为 2 (指示类型为 SRV) , RegisterSpace 为 3。

需要使用 ShaderRegisterRegisterSpace 对来使用根签名数据结构在着色器资源和运行时堆描述符之间建立对应关系。

RegisterSpace

请参阅 ShaderRegister 的说明。 寄存器空间是可选的;默认寄存器空间为 0。

ShaderVisibility

指定采样器对管道着色器的可见性,该着色器是 D3D12_SHADER_VISIBILITY 的一个成员。

备注

将此结构与 D3D12_ROOT_SIGNATURE_DESC 结构一起使用。

要求

   
标头 d3d12.h

另请参阅

CD3DX12_STATIC_SAMPLER_DESC

核心结构