【发布时间】:2016-03-31 14:47:56
【问题描述】:
我需要为工业 WPF 应用程序每秒绘制数千条 3D 线,但 WPF 似乎没有本机硬件加速线功能。
“3D”是指它们可以在 3 个轴上旋转,以透视图显示等。“线”是指 - 这些不是 3D 对象的线框,所以我这样做 不 想要一个 3D 表面的镶嵌,我确实不想要这些被照亮或被遮蔽。
之前在 StackOverflow 上已询问过此问题的变体。人们建议:
- XNA,但 XNA 已弃用
- Helix3D,但它的线条有奇怪的、不可接受的渲染伪影
- OpenGL(例如,OpenTK 或 SharpGL),但我在 OpenGL 论坛上与人们进行了很多讨论,并且所有带有 WPF 的 OpenGL 接口似乎都存在与其他 WPF 功能接口的主要问题,并且需要破解来解决。
我认为我最好的选择是使用 DirectX 或 Direct3D。但我不知道如何将它们与 WPF 集成。此外 Direct3D 也没有原生线图元(它使用带纹理的三角形)参见:https://msdn.microsoft.com/en-us/library/windows/desktop/bb323719%28v=vs.85%29.aspx
如有必要,我愿意做 2D 硬件加速线并做我自己的 3D-2D 映射。
但主要的是它必须与 WPF 顺利集成,这样我就可以用透明的 WPF 画布覆盖图形,我可以在上面绘制标记、文本、ROI 等。
我该怎么做?
【问题讨论】:
标签: wpf 3d directx direct3d hardware-acceleration