1

我只是有一个问题:我需要在画布上绘制一些 WPF 几何图形,每个几何图形的表面都是 Direct3D 11 中的复杂 Texture2D。我正在使用 SharpDX 并将 Texture2D 转换为 MemoryStream 然后转换为 WPF ImageSource,因为我正在使用计算着色器,UAV 纹理不支持 Format.Bgra,所以我不能使用 D3DImage。由于存在性能问题,如何将 Texture2D 直接绑定到 WPF Geometry?谢谢。

4

2 回答 2

0

简短的回答是您不能,WPF 3D 仍处于起步阶段,自定义着色器支持仅可用于 2D 效果。目前我能提供的最佳建议是将您的几何图形渲染到 XNA 表面上,并将其显示在 AirspacePopup 中,并在顶部显示您的 WPF 控件。

于 2014-01-08T06:46:06.517 回答
0

出于性能原因,您应该使用 SharpDX 执行整个渲染,而不是使用 WPF 几何图形,仅使用 D3DImage 将渲染结果与 WPF 同步。如果您需要将纹理从一种格式转换为另一种格式以匹配 WPF 格式,您可以简单地使用复制纹理的简单着色器渲染一个完整的四边形。如果您使用 SharpDX Toolkit 执行此操作,则开发它相当容易,因为它提供了 WPF 控件。

于 2014-01-08T12:07:03.537 回答