(Direct3D 11 圖形) 的子資源
本主題描述紋理子資源或資源的一部分。
Direct3D 可以參考整個資源,或參考資源的子集。 子資源這個詞彙指的是資源的子集。
緩衝區定義為單一的子資源。 紋理稍微複雜一點,因為有數種不同的紋理類型 (1D、2D 等) 部分支援 mipmap 層級和/或紋理陣列。 從最簡單的案例開始,1D 紋理定義為單一子資源,如下圖所示。
這表示組成 1D 紋理的紋理陣列包含在單一子資源中。
如果您展開具有三個 Mipmap 層級的 1D 紋理,則可以像下圖一樣視覺化。
將此視為由三個子資源組成的單一紋理。 子資源可以使用單一紋理的詳細層級 (LOD) 編制索引。 使用紋理陣列時,存取特定子資源需要 LOD 和特定紋理。 或者,API 會將這兩個資訊片段結合成單一以零起始的子資源索引,如下圖所示。
選取子資源
某些 API 會存取整個資源 (例如 ID3D11DeviceCoNtext::CopyResource 方法) ,而其他 API 則存取一部分的資源 (,例如 ID3D11DeviceCoNtext::UpdateSubresource 方法或 ID3D11DeviceCoNtext::CopySubresourceRegion 方法) 。 存取資源部分的方法通常會使用檢視描述 (,例如 D3D11_TEX2D_ARRAY_DSV 結構) 來指定要存取的子資源。
下列各節中的圖例顯示存取紋理陣列時,檢視描述所使用的詞彙。
陣列切片
假設有紋理陣列,每個具有 mipmap 的紋理,白色) 矩形所代表的 陣列 配量 (都會包含一個紋理及其所有子資源,如下圖所示。
Mip 切片
白色矩形所代表的 mip 配量 () 陣列中的每個紋理都包含一個 mipmap 層級,如下圖所示。
選取單一子資源
您可以使用這兩種切片來選擇單一子資源,如下圖所示。
選取多個子資源
或者,您可以使用這兩種類型的配量搭配 mipmap 層級和/或紋理數目,來選擇多個子資源,如下圖所示。
注意
轉譯目標檢視只能使用單一子資源或 mip 配量,而且不能包含多個 Mip 配量中的子資源。 也就是說,轉譯目標檢視中的每個紋理都必須是相同的大小。 著色器資源檢視可以選取子資源的任何矩形區域,如下圖所示。
相關主題