D3D11_TEXTURE2D_DESC 結構 (d3d11.h)
描述 2D 紋理。
語法
typedef struct D3D11_TEXTURE2D_DESC {
UINT Width;
UINT Height;
UINT MipLevels;
UINT ArraySize;
DXGI_FORMAT Format;
DXGI_SAMPLE_DESC SampleDesc;
D3D11_USAGE Usage;
UINT BindFlags;
UINT CPUAccessFlags;
UINT MiscFlags;
} D3D11_TEXTURE2D_DESC;
成員
Width
類型: UINT
材質) 中的紋理寬度 (。 範圍從 1 到 D3D11_REQ_TEXTURE2D_U_OR_V_DIMENSION (16384) 。 對於紋理立方體貼圖,範圍是從 1 到 D3D11_REQ_TEXTURECUBE_DIMENSION (16384) 。 不過,範圍實際上受限於您建立轉譯裝置 的功能層級 。 如需限制的詳細資訊,請參閱。
Height
類型: UINT
材質 () 紋理高度。 範圍從 1 到 D3D11_REQ_TEXTURE2D_U_OR_V_DIMENSION (16384) 。 對於紋理立方體貼圖,範圍是從 1 到 D3D11_REQ_TEXTURECUBE_DIMENSION (16384) 。 不過,範圍實際上受限於您建立轉譯裝置 的功能層級 。 如需限制的詳細資訊,請參閱。
MipLevels
類型: UINT
紋理中的Mipmap層級數目上限。 請參閱 D3D11_TEX1D_SRV中的備註。 針對多重取樣紋理使用 1;或 0 以產生一組完整的子文字。
ArraySize
類型: UINT
紋理陣列中的紋理數目。 範圍從 1 到 D3D11_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION (2048) 。 對於紋理立方體貼圖,此值是6個 (的倍數,也就是6倍D3D11_TEXCUBE_ARRAY_SRV) 的 NumCubes成員值,範圍是從6到2046。 範圍實際上受限於您建立轉譯裝置 的功能層級 。 如需限制的詳細資訊,請參閱。
Format
類型: DXGI_FORMAT
紋理格式 (請參閱 DXGI_FORMAT) 。
SampleDesc
類型: DXGI_SAMPLE_DESC
結構,指定紋理的多取樣參數。 請參閱 DXGI_SAMPLE_DESC。
Usage
類型: D3D11_USAGE
值,識別紋理的讀取和寫入方式。 最常見的值為 D3D11_USAGE_DEFAULT;如需所有可能的值 ,請參閱D3D11_USAGE 。
BindFlags
類型: UINT
旗標 (請參閱 系 結至管線階段D3D11_BIND_FLAG) 。 旗標可以由位 OR 合併。
CPUAccessFlags
類型: UINT
旗標 (請參閱 D3D11_CPU_ACCESS_FLAG) ,以指定允許的CPU存取類型。 如果不需要 CPU 存取,請使用 0。 這些旗標可以與位 OR 結合。
MiscFlags
類型: UINT
旗標 (請參閱 D3D11_RESOURCE_MISC_FLAG) ,以識別其他較不常見的資源選項。 如果沒有套用這些旗標,請使用 0。 您可以使用位 OR 來結合這些旗標。 針對紋理立方體貼圖,請設定 D3D11_RESOURCE_MISC_TEXTURECUBE 旗標。 Cube 對應陣列 (也就是 ArraySize> 6) 需要功能層級 D3D_FEATURE_LEVEL_10_1 或更高版本。
備註
此結構用於 ID3D11Device::CreateTexture2D的呼叫中。
除了這個結構之外,您也可以使用 CD3D11_TEXTURE2D_DESC 衍生結構,此結構定義於 D3D11.h 中,且行為類似繼承類別,以協助建立紋理描述。
裝置會將某些大小限制 (必須是子取樣、區塊壓縮或位格式資源的最小大小) 倍數。
紋理大小範圍取決於您建立裝置 的功能層級 ,而不是 Microsoft Direct3D 介面版本。 例如,如果您在功能層級 10 (使用 Microsoft Direct3D 10 硬體 D3D_FEATURE_LEVEL_10_0) ,並呼叫 D3D11CreateDevice 來建立 ID3D11Device,您必須將紋理大小上限限制為在建立 2D 紋理時D3D10_REQ_TEXTURE2D_U_OR_V_DIMENSION (8192) 。
規格需求
需求 | 值 |
---|---|
標頭 | d3d11.h |