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);
這會對應至 2 個著色 器Register (指出類型為 SRV) , 而 RegisterSpace 為 3。
使用根簽章資料結構,需要 ShaderRegister 和 RegisterSpace 配對,才能建立著色器資源與執行時間堆積描述元之間的對應。
RegisterSpace
請參閱 ShaderRegister的描述。 暫存器空間是選擇性的;預設暫存器空間為 0。
ShaderVisibility
指定取樣器對管線著色器的可見度,這是 D3D12_SHADER_VISIBILITY的一個成員。
備註
使用這個結構搭配 D3D12_ROOT_SIGNATURE_DESC 結構。
需求
標頭 | d3d12.h |