目前,我正在開發使用Direct2D進行實時圖像處理的Windows應用商店的應用程序。它必須支持各種尺寸的圖像。我遇到的第一個問題是如何處理圖像大於最大支持紋理大小的情況。經過一些研究和文檔閱讀後,我發現VirtualSurfaceImageSource是一個解決方案。這個想法是加載圖像作爲IWICBitmap,然後用CreateWICBitmapRenderTarget(據我所知不是硬件加速)創建渲染目標。經過一些繪圖操作之後,我想通過使VirtualSurfaceImage源中相應的區域無效或在NeedUpdate回調觸發時將結果顯示在屏幕上。我認爲可以通過創建ID2D1Bitmap(硬件加速)並使用CreateWICBitmapRenderTarget創建的渲染目標和無效區域作爲邊界調用CopyFromRenderTarget來實現,但該方法因此返回D2DERR_WRONG_RESOURCE_DOMAIN。使用IWICBitmap的另一個原因是應用程序中涉及的算法之一,它必須有權訪問更新圖像的像素。使用Direct2D進行實時圖像處理的大型圖像
問題是爲什麼這個邏輯不起作用?這是使用Direct2D實現我的目標的正確方法嗎?另外就用CreateWICBitmapRenderTarget創建的渲染目標不是硬件加速,如果我想在GPU上執行我的圖像處理,並且圖像大於最大允許紋理大小,這是最佳解決方案?
預先感謝您。