D3D12_PACKED_MIP_INFO 結構 (d3d12.h)

描述具有 mipmap 的並排資源磚結構。

語法

typedef struct D3D12_PACKED_MIP_INFO {
  UINT8 NumStandardMips;
  UINT8 NumPackedMips;
  UINT  NumTilesForPackedMips;
  UINT  StartTileIndexInOverallResource;
} D3D12_PACKED_MIP_INFO;

成員

NumStandardMips

磚資源中的標準 Mipmap 數目。

NumPackedMips

磚資源中已封裝的 Mipmap 數目。

此數位是從共用磚或使用非標準磚配置) 的最小詳細 mipmap (開始。 如果資源中沒有這類封裝,則此數位為 0。 針對陣列表面,此值是針對指定陣列配量封裝的 Mipmap 數目,其中每個陣列配量都會重複相同的封裝。

在Tier_2並排資源硬體上,不允許將填滿所有維度中至少一個標準形狀磚的 Mipmap 包含在一組已封裝的 Mipmap 中。 在Tier_1硬體上,不允許將所有維度中一個標準形狀磚的整數倍數的 mipmap 包含在一組已封裝的 Mipmap 中。 至少有一個維度小於標準磚圖形的 Mipmap 可能會或可能不會封裝。 需要封裝指定的 mipmap 時,指定陣列配量的所有粗略 mipmap 也會被視為封裝。

NumTilesForPackedMips

磚資源中已封裝 Mipmap 的磚數目。

如果沒有封裝,這個值就無意義,而且設定為 0。 否則,它會設定為代表已封裝 Mipmap 集合所需的磚數目。 已封裝 Mipmap 內的圖元配置是硬體特定的。 如果應用程式只定義封裝 Mipmap 中磚集的部分對應,讀取和寫入行為是廠商專屬且未定義的。 對於陣列,這個值只是每個陣列配量子資源內已封裝 Mipmap 的計數。

StartTileIndexInOverallResource

資源在整體磚範圍中第一個封裝磚的位移。 如果 NumPackedMips 為 0,這個值就無意義且為 0。 否則,它是資源整體磚範圍中資源第一個封裝磚的位移。 StartTileIndexInOverallResource的值為 0 表示已封裝整個資源。 針對陣列表面,這是包含第一個陣列配量之已封裝 Mipmap 之磚的位移。 陣列表面中每個陣列配量的封裝 Mipmap 會在此位移,超過每個陣列配量磚的開頭。

注意 指定陣列配量的整體磚數目只是資源磚的總數除以資源的陣列大小,因此可以輕鬆地找出任何指定陣列配量的磚範圍,其中 StartTileIndexInOverallResource 會識別這些配量。
 

備註

GetResourceTiling方法會使用此結構。

需求

   
標頭 d3d12.h

另請參閱

CD3DX12_PACKED_MIP_INFO

核心結構