2010-01-21 139 views
8

我正在研究CAD應用程序,並且正在考慮使用WPF渲染我的實體。 但似乎WPF不支持繪製3D線條。有沒有什麼方法在WPF中繪製3D線?我不想爲我需要繪製的每個線條實體創建一個網格,因爲我擔心這會導致主要的性能問題,因爲我必須在應用程序中創建多個線條實體。 如果這不可能通過WPF進行,那麼可以在DriectX 9或10中執行此操作嗎?我可以在WPF中混用directX嗎?我的意思是一些interop的方式?在WPF中繪製3D線

非常感謝,

回答

1

我似乎記得3D Tools for WPF工作相當好幾年了。我現在還沒有在WPF工作過很長時間的3D,所以有可能其他圖書館已經超越了這一點,但我無法肯定地說。

如果您對此沒有興趣,那麼您也可以考慮在WPF中嘗試使用XNA。這樣你就可以保留你的託管環境(因爲XNA已經取代了託管的DirectX)。 Here's an article關於這樣做,雖然我沒有真正嘗試過。

+8

WPF 3D的改進,擴展和積極開發的庫是Helix Toolkit(http://helixtoolkit.codeplex.com/)。 – Govert 2012-03-31 16:10:52

+0

helixtoolkit被移動到github https://github.com/helix-toolkit/helix-toolkit – 2015-10-21 10:59:34

+0

更新:XNA現已被棄用(http://www.gamasutra.com/view/news/185894/Its_official_XNA_is_dead.php) – Nic 2015-11-05 08:41:51

5

WPF確實做3D,and it does it well

您需要使用Viewport3D類來創建3D。

從WPF 3.5 SP1開始,您可以編寫DirectX和WPF,以便您可以完成相當複雜的3D應用程序。

+0

非常感謝。如果您能向我提供一些示例代碼以展示如何與WPF和DirectX進行互操作,我將非常感激。繪製3D線的例子會有很大的幫助。 – Ram 2010-01-21 19:42:59

+0

至於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

+0

謝謝..我會試試這件事,稍後再提問。 – Ram 2010-01-23 15:05:22

0

3DTools庫實際上是不好的解決方案。這不僅僅是我的看法。 例如,通過向3DTools庫中的場景100-150個對象添加測試,並嘗試旋轉場景。這是關於3D工具的答案。 如果您希望在WPF 3D中實現快速性能,您必須構建自己的網格。由於您是3D CAD開發人員,因此這項任務並不複雜。而且,如果您的任務涉及場景中大約1000-5000個簡單的3D對象,請使用WPF 3D,沒有問題。如果更多(或非常複雜):XNA,DirectX或OpenGL的.NET包裝器。