我使用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上用作背景的矩形。然后每一帧我都要更新纹理数据。