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
ShaderRegister 和 RegisterSpace 参数对应于 HLSL 的绑定语法。 例如,在 HLSL 中:
Texture2D<float4> a : register(t2, space3);
这对应于 ShaderRegister 为 2 (指示类型为 SRV) , RegisterSpace 为 3。
需要使用 ShaderRegister 和 RegisterSpace 对来使用根签名数据结构在着色器资源和运行时堆描述符之间建立对应关系。
RegisterSpace
请参阅 ShaderRegister 的说明。 寄存器空间是可选的;默认寄存器空间为 0。
ShaderVisibility
指定采样器对管道着色器的可见性,该着色器是 D3D12_SHADER_VISIBILITY 的一个成员。
备注
将此结构与 D3D12_ROOT_SIGNATURE_DESC 结构一起使用。
要求
标头 | d3d12.h |