共用方式為


ID3D11Device3::CreateTexture3D1 方法 (d3d11_3.h)

建立 3D 紋理

語法

HRESULT CreateTexture3D1(
  [in]            const D3D11_TEXTURE3D_DESC1  *pDesc1,
  [in, optional]  const D3D11_SUBRESOURCE_DATA *pInitialData,
  [out, optional] ID3D11Texture3D1             **ppTexture3D
);

參數

[in] pDesc1

類型:const D3D11_TEXTURE3D_DESC1*

描述 3D 紋理資源的 D3D11_TEXTURE3D_DESC1 結構的指標。 若要建立可在執行時間解譯為不同相容格式的無類型資源,請在紋理描述中指定無類型格式。 若要自動產生 Mipmap 層級,請將 mipmap 層級的數目設定為 0。

[in, optional] pInitialData

類型:const D3D11_SUBRESOURCE_DATA*

描述 3D 紋理資源子資源 之D3D11_SUBRESOURCE_DATA 結構的陣列指標。 建立 IMMUTABLE 資源時,應用程式無法為pInitialData指定Null, (請參閱D3D11_USAGE) 。 如果資源是多重取樣, pInitialData 必須是 Null ,因為建立多重取樣資源時無法使用資料初始化。

如果您未將任何專案傳遞至 pInitialData,則資源的記憶體初始內容是未定義的。 在此情況下,您必須以其他方式撰寫資源內容,才能讀取資源。

您可以從pDesc1指向之 D3D11_TEXTURE3D_DESC1結構的MipLevels成員中,判斷這個陣列的大小。 不支援 3D 磁片區紋理的陣列。

如需此陣列大小的詳細資訊,請參閱。

[out, optional] ppTexture3D

類型: ID3D11Texture3D1**

記憶體區塊的指標,接收所建立紋理之 ID3D11Texture3D1 介面的指標。 將此參數設定為 Null ,以驗證方法 (如果其他 輸入參數通過驗證) ,則會傳回S_FALSE。

傳回值

類型: HRESULT

如果方法成功,傳回碼會 S_OK。 如需失敗的錯誤 碼,請參閱 Direct3D 11 傳回碼

備註

CreateTexture3D1 會建立 3D 紋理資源,其中包含數個 3D 子資源。 紋理描述中會指定紋理數目。 資源中的所有紋理都必須具有相同的格式、大小和 mipmap 層級數目。

所有資源都是由一或多個子資源所組成。 若要將資料載入紋理中,應用程式可以一開始提供資料做為pInitialData所指向D3D11_SUBRESOURCE_DATA結構的陣列,或者可以使用其中一個 D3DX 紋理函式,例如D3DX11CreateTextureFromFile

pInitialData的每個元素都會提供針對指定錯誤定義的所有配量。 例如,針對具有完整 Mipmap 鏈結的 32 x 32 x 4 磁片區紋理,陣列具有下列 6 個元素:

  • pInitialData[0] = 32x32 含 4 個配量
  • pInitialData[1] = 16x16 含 2 個配量
  • pInitialData[2] = 8x8 含 1 個配量
  • pInitialData[3] = 4x4 含 1 個配量
  • pInitialData[4] = 2x2 含 1 個配量
  • pInitialData[5] = 1x1 含 1 個配量

規格需求

   
最低支援的用戶端 Windows 10 [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2016 [僅限傳統型應用程式]
目標平台 Windows
標頭 d3d11_3.h
程式庫 D3D11.lib

另請參閱

ID3D11Device3