2010-01-21 14 views
8

Sto lavorando a un'applicazione CAD e sto pensando di utilizzare WPF per il rendering delle mie entità. Ma sembra che WPF non supporti il ​​disegno di linee 3D. Esistono modi per disegnare linee 3D in WPF? Non mi piace creare una mesh per ogni entità di linea che ho bisogno di disegnare come temo, ciò mi causerebbe un grosso ostacolo per le prestazioni poiché dovrei creare un numero di entità linea nella mia applicazione. Se ciò non è possibile tramite WPF, sarà possibile farlo in DriectX 9 o 10? Posso mescolare directX in WPF? Intendo un modo di interops?Disegno di linee 3D in WPF

Molte grazie,

risposta

1

mi sembra di ricordare 3D Tools for WPF lavorare piuttosto bene qualche anno fa. Non ho lavorato a lungo su 3D in WPF da molto tempo, quindi è possibile che altre biblioteche lo abbiano superato, ma non posso dirlo con certezza.

Se non si è interessati a lavorare con questo, si può anche considerare di provare XNA all'interno di WPF. In questo modo manterrai il tuo ambiente gestito (come XNA ha sostituito DirectX gestito). Here's an article su questo, anche se in realtà non l'ho provato.

+8

Una libreria molto migliorata, ampliata e sviluppata attivamente per WPF 3D è Helix Toolkit (http://helixtoolkit.codeplex.com/). – Govert

+0

l'helixtoolkit viene spostato su github https://github.com/helix-toolkit/helix-toolkit –

+0

Aggiornamento: XNA è ora deprecato (http://www.gamasutra.com/view/news/185894/Its_official_XNA_is_dead.php) – Nic

5

WPF fa 3D, and it does it well.

È necessario utilizzare la classe Viewport3D per creare 3D.

A partire da WPF 3.5 SP1, è possibile comporre DirectX e WPF in modo da poter eseguire applicazioni 3D abbastanza sofisticate.

+0

Grazie mille. Apprezzerei molto la possibilità di fornirmi un codice di esempio per mostrare come posso eseguire l'interoperabilità con WPF e DirectX. Un esempio per disegnare una linea 3D sarà di grande aiuto. – Ram

+0

Come per WPF 3D, i campioni di codice SDK WPF sono un ottimo punto di partenza. Questo sito ha anche dei buoni esempi: http://windowsclient.net/downloads/folders/wpfsamples/default.aspx Per quanto riguarda l'integrazione DX-> WPF, il Dr. WPF ha un buon esempio su CodeProject: http: // www. codeproject.com/KB/WPF/D3DImage.aspx – codekaizen

+0

Grazie ... Proverò qualcosa con questo e farò altre domande più tardi. – Ram

0

Basta aggiungere a questo che OpenTK, che è un wrapper per OpenGL, è utilizzabile come pure da un'applicazione WPF, c'è un semplice esempio che è facile da ottenere installato e funzionante sul sito OpenTK:

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

0

La libreria 3DTools è in effetti una soluzione sbagliata. Non è semplicemente la mia opinione. Ad esempio, testarlo aggiungendo alla scena 100-150 oggetti dalla libreria 3DTools e provare a ruotare la scena. È la risposta riguardante gli strumenti 3D. Se si desidera una prestazione rapida in WPF 3D, è necessario creare le proprie mesh. Non è un compito complicato come lo sviluppatore CAD 3D. Inoltre, se il tuo compito riguarda circa 1000-5000 oggetti 3D semplici all'interno della scena, usa WPF 3D, nessun problema. Se più (o molto complesso): XNA, NET Wrapper di DirectX o OpenGL.