在WPF中绘制3D线条

时间:2010-01-21 19:05:03

标签: wpf 3d directx cad

我正在研究CAD应用程序,并考虑使用WPF来渲染我的实体。 但似乎WPF不支持绘制3D线条。有没有办法在WPF中绘制3D线?我不想为我需要绘制的每个线条实体创建一个网格,因为我担心,这会给我带来重大的性能障碍,因为我必须在我的应用程序中创建多个线条实体。 如果通过WPF无法做到这一点,是否可以在DriectX 9或10中执行此操作?我可以在WPF中混合使用directX吗?我的意思是一些互操作方式?

非常感谢,

4 个答案:

答案 0 :(得分:5)

WPF会做3D,and it does it well

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

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

答案 1 :(得分:1)

我似乎记得3D Tools for WPF几年前工作得相当好。我已经很长时间没有在WPF上做任何3D工作了,所以其他图书馆可能已经超越了这个,但我不能肯定地说。

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

答案 2 :(得分:0)

只是添加OpenTK,它是OpenGL的包装,也可以从WPF应用程序中使用,有一个简单的例子,很容易在OpenTK网站上启动和运行:

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

答案 3 :(得分:0)

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