在WPF中将D3DImage设置为Image并渲染

时间:2018-06-22 04:17:55

标签: wpf directx directx-12

我想使用DX12渲染到表面并通过WPF呈现它。网上有这样的说法。在我看来,这很简单。我可以在硬盘驱动器或某些映射的内存上呈现为传统图像(即tga),然后通过D3DImage或wpf中的图像画笔呈现该图像。我认为最直接的方法是渲染到DXGI表面,然后将其复制到IDirect3DSurface9。我看不到在任何情况下如何从源映射到目标-无论是呈现tga还是将渲染的表面从dxgi传递到dx9。微软在GitHub上的解决方案被打破了,图像传递的部分笼罩在黑暗中。以前的MS示例已被删除,而codeproject中有过去十年的示例。到目前为止,我没有代码,因为我不知道在相关部分中添加什么。我对使用可用的托管解决方案没有真正的兴趣。

1 个答案:

答案 0 :(得分:1)

看来我可能有点不耐烦。解决我的问题的方法似乎是ID3D ## Device :: OpenSharedResource()。渲染时,使用CreateTexture()和pSharedHandle渲染为纹理。这将允许纹理资源与d3d9共享。然后我可以使用基本的d3d9管道来消耗纹理,该管道将纹理通过d3dimage渲染为wpf中的基本矩形。如果我错过了什么,请告诉我。