我正在研究CAD应用程序,并且正在考虑使用WPF渲染我的实体。 但似乎WPF不支持绘制3D线条。有没有什么方法在WPF中绘制3D线?我不想为我需要绘制的每个线条实体创建一个网格,因为我担心这会导致主要的性能问题,因为我必须在应用程序中创建多个线条实体。 如果这不可能通过WPF进行,那么可以在DriectX 9或10中执行此操作吗?我可以在WPF中混用directX吗?我的意思是一些interop的方式?在WPF中绘制3D线
非常感谢,
我正在研究CAD应用程序,并且正在考虑使用WPF渲染我的实体。 但似乎WPF不支持绘制3D线条。有没有什么方法在WPF中绘制3D线?我不想为我需要绘制的每个线条实体创建一个网格,因为我担心这会导致主要的性能问题,因为我必须在应用程序中创建多个线条实体。 如果这不可能通过WPF进行,那么可以在DriectX 9或10中执行此操作吗?我可以在WPF中混用directX吗?我的意思是一些interop的方式?在WPF中绘制3D线
非常感谢,
我似乎记得3D Tools for WPF工作相当好几年了。我现在还没有在WPF工作过很长时间的3D,所以有可能其他图书馆已经超越了这一点,但我无法肯定地说。
如果您对此没有兴趣,那么您也可以考虑在WPF中尝试使用XNA。这样你就可以保留你的托管环境(因为XNA已经取代了托管的DirectX)。 Here's an article关于这样做,虽然我没有真正尝试过。
WPF确实做3D,and it does it well。
您需要使用Viewport3D类来创建3D。
从WPF 3.5 SP1开始,您可以编写DirectX和WPF,以便您可以完成相当复杂的3D应用程序。
非常感谢。如果您能向我提供一些示例代码以展示如何与WPF和DirectX进行互操作,我将非常感激。绘制3D线的例子会有很大的帮助。 – Ram 2010-01-21 19:42:59
至于WPF 3D,WPF SDK代码示例是一个很好的开始。这个网站也有很好的示例:http://windowsclient.net/downloads/folders/wpfsamples/default.aspx 至于DX-> WPF集成,WPF博士在CodeProject上有一个很好的例子:http:// www。 codeproject.com/KB/WPF/D3DImage.aspx – codekaizen 2010-01-22 03:50:21
谢谢..我会试试这件事,稍后再提问。 – Ram 2010-01-23 15:05:22
只是增加了这一点,OpenTK,这大约是OpenGL的一个包装,是可用的,以及从一个WPF应用程序,有一个简单的例子,很容易起床,在OpenTK站点上运行:
3DTools库实际上是不好的解决方案。这不仅仅是我的看法。 例如,通过向3DTools库中的场景100-150个对象添加测试,并尝试旋转场景。这是关于3D工具的答案。 如果您希望在WPF 3D中实现快速性能,您必须构建自己的网格。由于您是3D CAD开发人员,因此这项任务并不复杂。而且,如果您的任务涉及场景中大约1000-5000个简单的3D对象,请使用WPF 3D,没有问题。如果更多(或非常复杂):XNA,DirectX或OpenGL的.NET包装器。
WPF 3D的改进,扩展和积极开发的库是Helix Toolkit(http://helixtoolkit.codeplex.com/)。 – Govert 2012-03-31 16:10:52
helixtoolkit被移动到github https://github.com/helix-toolkit/helix-toolkit – 2015-10-21 10:59:34
更新:XNA现已被弃用(http://www.gamasutra.com/view/news/185894/Its_official_XNA_is_dead.php) – Nic 2015-11-05 08:41:51