共用方式為


D3D11_SUBRESOURCE_DATA 結構 (d3d11.h)

指定初始化子資源的數據。

語法

typedef struct D3D11_SUBRESOURCE_DATA {
  const void *pSysMem;
  UINT       SysMemPitch;
  UINT       SysMemSlicePitch;
} D3D11_SUBRESOURCE_DATA;

成員

pSysMem

類型: const void*

初始化數據的指標。

SysMemPitch

類型: UINT

從紋理的一行開頭到下一行) ,以位元組為單位的距離 (。
系統記憶體間距僅適用於 2D 和 3D 紋理數據,因為它對其他資源類型沒有意義。 指定 SysMemSlicePitch 成員中,該紋理中下一個 2D 配量的第一個像素與 SysMemSlicePitch 成員中下一個 2D 配量的第一個像素距離。

SysMemSlicePitch

類型: UINT

從一個深度層級的開頭到下一個深度層級) 以位元組為單位的距離 (。
系統記憶體配量間距僅用於 3D 紋理數據,因為它對其他資源類型沒有意義。

備註

這個結構用於呼叫來建立緩衝區 (ID3D11Device::CreateBuffer) 和紋理 (ID3D11Device::CreateTexture1DID3D11Device::CreateTexture2DID3D11Device::CreateTexture3D) 。 如果您建立的資源不需要系統記憶體間距或系統記憶體配量間距,您可以使用這些成員來傳遞大小資訊,這在針對建立資源的問題進行偵錯時,可能會有所説明。

子資源是單一 mipmap 層級表面。 您可以將子資源的陣列傳遞至上述其中一個方法來建立資源。 子資源可以是 1D、2D 或 3D。 如何設定 D3D11_SUBRESOURCE_DATA 的成員取決於子資源是 1D、2D 或 3D。

x、y 和 d 值是以 0 為基礎的索引, 而 BytesPerPixel 取決於圖元格式。 針對誤用的 3D 表面,每個層級的深度配量數目是上一層 (最小 1 個) 的一半,如果除以兩個會導致非整數,則會捨入。

注意 應用程式不得依賴 SysMemPitch ,其大小與紋素大小完全相等。 在某些情況下, SysMemPitch 會包含填補,以略過一行中的其他數據。 這可能是對齊的填補,或者紋理可能是較大紋理的子區段。 例如, D3D11_SUBRESOURCE_DATA 結構可能代表 128 到 128 的 32 個子區段。 SysMemSlicePitch 的值會反映 SysMemPitch 中包含的任何填補。
 

規格需求

需求
標頭 d3d11.h

另請參閱

資源結構