D3D11_SAMPLER_DESC 結構 (d3d11.h)
描述取樣器狀態。
語法
typedef struct D3D11_SAMPLER_DESC {
D3D11_FILTER Filter;
D3D11_TEXTURE_ADDRESS_MODE AddressU;
D3D11_TEXTURE_ADDRESS_MODE AddressV;
D3D11_TEXTURE_ADDRESS_MODE AddressW;
FLOAT MipLODBias;
UINT MaxAnisotropy;
D3D11_COMPARISON_FUNC ComparisonFunc;
FLOAT BorderColor[4];
FLOAT MinLOD;
FLOAT MaxLOD;
} D3D11_SAMPLER_DESC;
成員
Filter
類型: D3D11_FILTER
取樣紋理時要使用的篩選方法 (請參閱 D3D11_FILTER) 。
AddressU
類型: D3D11_TEXTURE_ADDRESS_MODE
用來解析超出 0 到 1 範圍的 u 紋理座標的方法, (請參閱 D3D11_TEXTURE_ADDRESS_MODE) 。
AddressV
類型: D3D11_TEXTURE_ADDRESS_MODE
用來解析超出 0 到 1 範圍的 v 紋理座標的方法。
AddressW
類型: D3D11_TEXTURE_ADDRESS_MODE
用來解析超出 0 到 1 範圍的 w 紋理座標的方法。
MipLODBias
類型: FLOAT
從計算的 mipmap 層級位移。 例如,如果 Direct3D 計算出紋理應在 mipmap 層級 3 取樣,而 MipLODBias 為 2,則紋理會在 mipmap 層級 5 取樣。
MaxAnisotropy
類型: UINT
如果在 Filter 中指定了D3D11_FILTER_ANISOTROPIC或D3D11_FILTER_COMPARISON_ANISOTROPIC,則會使用限制值。 有效值介於 1 到 16 之間。
ComparisonFunc
函式,會比較取樣的數據與現有的取樣數據。 函式選項會列在 D3D11_COMPARISON_FUNC中。
BorderColor[4]
類型: FLOAT[4]
如果為 AddressU、AddressV 或 AddressW 指定D3D11_TEXTURE_ADDRESS_BORDER,則要使用的框線色彩。 範圍必須介於 0.0 到 1.0 之間。
MinLOD
類型: FLOAT
Mipmap 範圍的下端可限制存取,其中 0 是最大且最詳細的 mipmap 層級,且比該層級更不詳細的任何層級。
MaxLOD
類型: FLOAT
mipmap 範圍的上端可限制存取,其中 0 是最大且最詳細的 mipmap 層級,且比該層級更不詳細的任何層級。 此值必須大於或等於MinLOD。 若要在 LOD 上沒有上限,請將此值設定為大型值,例如D3D11_FLOAT32_MAX。
備註
這些是取樣器狀態的預設值。
狀態 | 預設值 |
---|---|
篩選 | D3D11_FILTER_MIN_MAG_MIP_LINEAR |
AddressU | D3D11_TEXTURE_ADDRESS_CLAMP |
AddressV | D3D11_TEXTURE_ADDRESS_CLAMP |
AddressW | D3D11_TEXTURE_ADDRESS_CLAMP |
MinLOD | -3.402823466e+38F (-FLT_MAX) |
MaxLOD | 3.402823466e+38F (FLT_MAX) |
MipMapLODBias | 0.0f |
MaxAnisotropy | 1 |
ComparisonFunc | D3D11_COMPARISON_NEVER |
BorderColor | float4 (1.0f,1.0f,1.0f,1.0f) |
紋理 | N/A |
規格需求
需求 | 值 |
---|---|
標頭 | d3d11.h |