ID3D11Device3::CreateTexture2D1 方法 (d3d11_3.h)
建立 2D 紋理。
語法
HRESULT CreateTexture2D1(
[in] const D3D11_TEXTURE2D_DESC1 *pDesc1,
[in, optional] const D3D11_SUBRESOURCE_DATA *pInitialData,
[out, optional] ID3D11Texture2D1 **ppTexture2D
);
參數
[in] pDesc1
類型: const D3D11_TEXTURE2D_DESC1*
描述 2D 紋理資源的 D3D11_TEXTURE2D_DESC1 結構的指標。 若要建立可在運行時間解譯為不同相容格式的無類型資源,請在紋理描述中指定無類型格式。 若要自動產生 mipmap 層級,請將 mipmap 層級的數目設定為 0。
[in, optional] pInitialData
類型: const D3D11_SUBRESOURCE_DATA*
描述 2D 紋理資源的子資源 之D3D11_SUBRESOURCE_DATA 結構的陣列指標。 建立 IMMUTABLE 資源時,應用程式無法指定 pInitialData 的 NULL, (請參閱D3D11_USAGE) 。 如果資源是多重取樣, pInitialData 必須是 NULL ,因為建立多重取樣資源時無法以數據初始化。
如果您未將任何內容傳遞至 pInitialData,則資源記憶體的初始內容未定義。 在此情況下,您必須在讀取資源之前以其他方式撰寫資源內容。
您可以使用下列計算,從 D3D11_TEXTURE2D_DESC1pDesc1 結構的 MipLevels 和 ArraySize 成員中,判斷此陣列的大小:
MipLevels * ArraySize
如需此陣列大小的詳細資訊,請參閱。
[out, optional] ppTexture2D
類型: ID3D11Texture2D1**
記憶體區塊的指標,接收所建立紋理之 ID3D11Texture2D1 介面的指標。 將此參數設定為 NULL ,以驗證方法 (如果其他 輸入參數通過驗證) ,則會傳回S_FALSE。
傳回值
類型: HRESULT
如果方法成功,傳回碼 會S_OK。 如需失敗的錯誤碼,請參閱 Direct3D 11 傳回碼 。
備註
CreateTexture2D1 會建立 2D 紋理資源,其中包含數個 2D 子資源。 子資源的數目是在紋理描述中指定。 資源中的所有紋理都必須具有相同的格式、大小和 mipmap 層級數目。
所有資源都是由一或多個子資源所組成。 若要將數據載入紋理中,應用程式一開始可以提供數據做為 pInitialData 所指向之D3D11_SUBRESOURCE_DATA結構的數位,或者可以使用其中一個 D3DX 紋理函式,例如 D3DX11CreateTextureFromFile。
針對具有完整Mipmap鏈結的32 x 32紋理, pInitialData 陣列具有下列6個元素:
- pInitialData[0] = 32x32
- pInitialData[1] = 16x16
- pInitialData[2] = 8x8
- pInitialData[3] = 4x4
- pInitialData[4] = 2x2
- pInitialData[5] = 1x1
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 10 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2016 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | d3d11_3.h |
程式庫 | D3D11.lib |