簡體   English   中英

DirectX 11將多個紋理加載到Texture2DArray中

[英]DirectX 11 Loading multiple textures into Texture2DArray

有沒有辦法獲取ID3D11Texture2D *對象的數組並將它們放到單個ID3D11Texture2D *(具有適當的ArraySize值)中,從而使我可以在HLSL中與它們一起使用Texture2DArray?

至少,將ArraySize設置為大於1后,如何在創建新的ID3D11Texture2D對象時傳遞各個紋理? 您是否需要傳遞一個SUBRESOURCE_DATA結構數組,每個結構均指向CreateTexture2D函數的紋理? 我一直在尋找答案,但是似乎嚴重缺乏該文檔。

感謝您的任何幫助,您可以提供。

要將現有紋理復制到紋理數組,可以使用CopySubresourceRegion ,該對象使用下面描述的目標子資源索引。

要使用初始數據創建新的紋理數組,請使用SUBRESOURCE_DATA結構數組指定多個子資源(數組切片/ mip級別)。 子資源索引定義為mip slice + array slice * mip leves 因此,對於2切片3-MIP紋理數組,您將具有以下子資源:

[0]: slice 0 mip 0
[1]: slice 0 mip 1
[2]: slice 0 mip 2
[3]: slice 1 mip 0
[4]: slice 1 mip 1
[5]: slice 1 mip 2

在下面的頁面中對此進行了更詳細的描述: http : //msdn.microsoft.com/zh-cn/library/windows/desktop/ff476901(v=vs.85).aspx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM