我需要將DXGI_FORMAT_R32G32B32A32_TYPELESS類型的ID3D11Texture2D紋理有效地轉換爲DXGI_FORMAT_B8G8R8A8_TYPELESS(或任何其他32位RGBA類型)紋理。基本上將每像素紋理的128位降低到每像素32位。看起來像ID3D11DeviceContext :: CopyResource-method不能處理這種格式轉換。我應該使用着色器來實現嗎?如果是,那麼着色器可以與CopyResource方法一起使用,還是需要設置完整的渲染管道?嘗試在CPU上進行轉換,但速度太慢。在DXGI格式之間轉換RGBA數據
0
A
回答
1
一般而言,最快速的方法是使用GPU將源格式紋理的「全屏四邊形」渲染爲目標格式的渲染目標。限制將基於支持渲染目標格式的Direct3D硬件功能級別。例如,在具有現代驅動程序的所有功能級別上,可以指望支持DXGI_FORMAT_B8G8R8A8_UNORM
作爲渲染目標,但不支持DXGI_FORMAT_B8G8R8A8_SNORM
。
對於所有可能的DXGI格式轉換基於CPU的回退,見DirectXTex。
相關問題
- 1. 格式之間的轉換
- 2. 轉換RGBA到ARGB像素格式
- 3. 設計包括數據格式之間的轉換在.NET
- 4. RGBA格式HEX轉換爲RGB格式HEX? PHP
- 5. 日期格式之間的轉換
- 6. 日期格式之間的轉換
- 7. 在轉換之間傳遞數據(XML)
- 8. 轉換數據表格式
- 9. 轉換CSV數據格式
- 10. 在php和mysql之間轉換數字格式
- 11. 轉換RGBA值到在Javascript
- 12. YII:在CRUD之前轉換數據格式?
- 13. 轉換數據格式在R
- 14. 將SQL空間數據轉換爲空間格式
- 15. 將數據時間格式轉換爲採樣時間
- 16. 安卓:轉換顏色`RGBA()`以十六進制格式
- 17. 如何將BGRA緩衝區轉換爲RGBA緩衝區格式?
- 18. 轉換數據類型之間的C#
- 19. 時間格式轉換
- 20. 轉換時間UTC格式
- 21. 轉換時間格式
- 22. PHP轉換時間格式
- 23. 轉換PHP時間格式
- 24. 轉換爲時間格式
- 25. 如何將RGBA css顏色格式轉換爲十六進制格式
- 26. 將整數轉換爲時間格式
- 27. 轉換時間戳數字格式
- 28. 將整數轉換爲時間格式
- 29. 在數據層和邏輯層之間映射/轉換數據
- 30. 在視圖之間轉換:在segues和代碼之間轉換