我使用openCV在Windows 10(通用Windows應用程序/ WinRT)中製作增強現實應用程序(C++)。透明SwapChainPanel(compositeMode) - 不透明的DirectX繪圖?
問題:
我希望有一個透明背景SwapChainPanel使後面(攝像頭流)可見的內容,但不透明的3D模型(如濃)。
嘗試:
我的研究看來,在設定SwapChainPanel的CompositeMode爲「minBlend」應該這樣做 - 是的,但我還是希望我的3D對象是不透明的。事實上,我希望我的物品是半透明的,但始終可見。 「minBlend」模式更適用於文本高亮顯示,而不是真正用半透明模型覆蓋某些內容(黑色區域不覆蓋,請參閱圖片)。
Image: Standard DirectX Cube (oqaque background and model)
你有什麼建議嗎?可能嗎?
背景:
我在做一個增強現實的Windows 10應用程序與OpenCV的。爲了獲取我的攝像頭流的當前像素數據,我使用了Win10方法mediaCapture-> GetPreviewFrameAsync(videoframe)和SoftwareBitmap-> LockBuffer獲得對存儲緩衝區中的字節的訪問權限。這些字節在openCV函數中處理,處理完成後,我將設置一個WriteableBitmap,以在我的Xaml-UI元素中顯示修改的webcam-stream。由於已經有類來繪製我的DirectX對象並使用觸摸輸入修改它們,我想使用DirectX將網絡攝像頭預覽與我的對象疊加在一起。
對不起,不鏈接使用的方法和鏈接的圖像,我沒有足夠的聲譽
編輯:可能的替代是創建從我的像素數據的紋理,併成立了全屏在我的swapchainpanel上用作背景的矩形。然後每一幀我都要更新紋理數據。