共用方式為


D3D11_TEXTURE2D_DESC1 結構 (d3d11_3.h)

描述 2D 紋理。

語法

typedef struct D3D11_TEXTURE2D_DESC1 {
  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_TEXTURE_LAYOUT TextureLayout;
} D3D11_TEXTURE2D_DESC1;

成員

Width

材質) 中的紋理寬度 (。 範圍從 1 到 D3D11_REQ_TEXTURE2D_U_OR_V_DIMENSION (16384) 。 對於紋理立方體貼圖,範圍是從 1 到 D3D11_REQ_TEXTURECUBE_DIMENSION (16384) 。 不過,範圍實際上受限於您建立轉譯裝置 的功能層級 。 如需限制的詳細資訊,請參閱。

Height

材質 () 紋理高度。 範圍從 1 到 D3D11_REQ_TEXTURE2D_U_OR_V_DIMENSION (16384) 。 對於紋理立方體貼圖,範圍是從 1 到 D3D11_REQ_TEXTURECUBE_DIMENSION (16384) 。 不過,範圍實際上受限於您建立轉譯裝置 的功能層級 。 如需限制的詳細資訊,請參閱。

MipLevels

紋理中的 Mipmap 層級數目上限。 請參閱 D3D11_TEX1D_SRV中的備註。 針對多重取樣紋理使用 1;或 0 以產生一組完整的子文字。

ArraySize

紋理陣列中的紋理數目。 範圍從 1 到 D3D11_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION (2048) 。 對於紋理立方體貼圖,此值是 6 個 (的倍數,也就是 6 倍D3D11_TEXCUBE_ARRAY_SRV) 的 NumCubes成員值,範圍是從 6 到 2046。 範圍實際上受限於您建立轉譯裝置 的功能層級 。 如需限制的詳細資訊,請參閱。

Format

紋理格式 (請參閱 DXGI_FORMAT) 。

SampleDesc

結構,指定紋理的多取樣參數。 請參閱 DXGI_SAMPLE_DESC

Usage

值,識別紋理的讀取和寫入方式。 最常見的值為 D3D11_USAGE_DEFAULT;如需所有可能的值 ,請參閱D3D11_USAGE

BindFlags

旗標 (請參閱 結至管線階段D3D11_BIND_FLAG) 。 旗標可以由位 OR 合併。

CPUAccessFlags

旗標 (請參閱 D3D11_CPU_ACCESS_FLAG) ,以指定允許的 CPU 存取類型。 如果不需要 CPU 存取,請使用 0。 這些旗標可以與位 OR 結合。

MiscFlags

旗標 (請參閱 D3D11_RESOURCE_MISC_FLAG) ,以識別其他較不常見的資源選項。 如果沒有套用這些旗標,請使用 0。 您可以使用位 OR 來結合這些旗標。 針對紋理立方體貼圖,請設定 D3D11_RESOURCE_MISC_TEXTURECUBE 旗標。 Cube 對應陣列 (也就是ArraySize> 6) 需要功能層級D3D_FEATURE_LEVEL_10_1或更高版本。

TextureLayout

識別紋理配置的 D3D11_TEXTURE_LAYOUT型別值。

TextureLayout 參數會在對應紋理時,同時選取記憶體中紋理的實際配置和應用程式可見的配置。 若未同時要求 CPU 存取,可能無法要求這些旗標。

不合法地在預設紋理上設定 CPU 存取旗標,而不將 TextureLayout 設定為 D3D11_TEXTURE_LAYOUT_UNDEFINED 以外的值。

D3D11_TEXTURE_LAYOUT_ROW_MAJOR只能用來建立非多重取樣,支援單一子資源 (平面 YUV 紋理的紋理) 。 這些紋理只能當做複製作業的來源和目的地使用,而 BindFlags 必須是零。

D3D11_TEXTURE_LAYOUT_64K_STANDARD_SWIZZLE只能用來建立非多重取樣的非深度樣板紋理。

備註

此結構用於 ID3D11Device3::CreateTexture2D1的呼叫中。

除了這個結構之外,您也可以使用 CD3D11_TEXTURE2D_DESC1 衍生結構,此結構定義于 D3D11_3.h 中,且行為就像繼承類別一樣,以協助建立紋理描述。

裝置會將某些大小限制 (必須是子取樣、區塊壓縮或位格式資源的最小大小) 倍數。

紋理大小範圍取決於您建立裝置 的功能層級 ,而不是 Microsoft Direct3D 介面版本。 例如,如果您在功能層級 10 (使用 Microsoft Direct3D 10 硬體 D3D_FEATURE_LEVEL_10_0) ,並呼叫 D3D11CreateDevice 來建立 ID3D11Device,您必須將紋理大小上限限制為在建立 2D 紋理時D3D10_REQ_TEXTURE2D_U_OR_V_DIMENSION (8192) 。

需求

   
標頭 d3d11_3.h

另請參閱

資源結構