共用方式為


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);

這會對應至 2 個著色 器Register (指出類型為 SRV) , 而 RegisterSpace 為 3。

使用根簽章資料結構,需要 ShaderRegisterRegisterSpace 配對,才能建立著色器資源與執行時間堆積描述元之間的對應。

RegisterSpace

請參閱 ShaderRegister的描述。 暫存器空間是選擇性的;預設暫存器空間為 0。

ShaderVisibility

指定取樣器對管線著色器的可見度,這是 D3D12_SHADER_VISIBILITY的一個成員。

備註

使用這個結構搭配 D3D12_ROOT_SIGNATURE_DESC 結構。

需求

   
標頭 d3d12.h

另請參閱

CD3DX12_STATIC_SAMPLER_DESC

核心結構