【问题标题】:Drawing 3D lines in WPF在 WPF 中绘制 3D 线
【发布时间】:2011-01-07 21:29:41
【问题描述】:

我正在开发一个 CAD 应用程序并考虑使用 WPF 来呈现我的实体。

但 WPF 似乎不支持绘制 3D 线。有什么方法可以在 WPF 中绘制 3D 线?

我不喜欢为我需要绘制的每个线实体创建一个网格,因为我担心这会对我造成很大的性能问题,因为我必须在我的应用程序中创建多个线实体。

如果通过 WPF 无法做到这一点,是否可以在 DirectX 9 或 10 中做到这一点?我可以在 WPF 中混合 DirectX 吗?我的意思是某种互操作方式?

非常感谢

【问题讨论】:

    标签: wpf 3d directx cad


    【解决方案1】:

    我似乎记得几年前3D Tools for WPF 工作得很好。我已经很长时间没有在 WPF 中从事任何 3D 工作了,所以其他库可能已经超越了这一点,但我不能肯定。

    如果您对使用它不感兴趣,您也可以考虑在 WPF 中尝试 XNA。这样,您将保留您的托管环境(因为 XNA 已经取代了托管 DirectX)。 Here's an article 关于这样做,虽然我还没有真正尝试过。

    【讨论】:

    【解决方案2】:

    WPF 确实做 3D,and it does it well

    您需要使用 Viewport3D 类来创建 3D。

    从 WPF 3.5 SP1 开始,您可以组合 DirectX 和 WPF,以便您可以执行相当复杂的 3D 应用程序。

    【讨论】:

    • 非常感谢。如果您能提供一些示例代码来展示如何与 WPF 和 DirectX 进行互操作,我将不胜感激。绘制 3D 线的示例会很有帮助。
    • 对于 WPF 3D,WPF SDK 代码示例是一个很好的起点。这个站点也有很好的示例:windowsclient.net/downloads/folders/wpfsamples/default.aspx至于DX->WPF集成,WPF博士在CodeProject上有一个很好的示例:codeproject.com/KB/WPF/D3DImage.aspx
    • 谢谢.. 我会尝试一下,稍后再问更多问题。
    • 我不明白这如何回答有关画线的问题。
    • 那是因为问题不在于画线。
    【解决方案3】:

    除此之外,OpenTK 是 OpenGL 的包装器,也可以从 WPF 应用程序中使用,有一个简单的示例可以在 OpenTK 站点上轻松启动和运行:

    http://www.opentk.com/doc/chapter/2/glcontrol

    【讨论】:

    • 我不明白这如何回答有关画线的问题。
    • 也许,但也有不止一个问题。
    【解决方案4】:

    3DTools 库实际上是不好的解决方案。这不仅仅是我的意见。 例如,通过从 3DTools 库中添加场景 100-150 个对象来测试它并尝试旋转场景。这是关于 3D 工具的答案。 如果您希望在 WPF 3D 中获得快速性能,您必须构建自己的网格。这不是复杂的任务,因为您是 3D CAD 开发人员。此外,如果您的任务涉及场景中大约 1000-5000 个简单的 3D 对象,请使用 WPF 3D,没问题。如果更多(或非常复杂):XNA、DirectX 或 OpenGL 的 NET Wrappers。

    【讨论】:

    • 我不明白这如何回答有关画线的问题。
    猜你喜欢
    • 2014-03-16
    • 2022-11-10
    • 1970-01-01
    • 2022-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-13
    相关资源
    最近更新 更多