2010-01-21 7 views
8

Je travaille sur une application CAO et pense à utiliser WPF pour rendre mes entités. Mais il semble que WPF ne supporte pas le dessin de lignes 3D. Est-il possible de dessiner des lignes 3D dans WPF? Je n'aime pas créer un maillage pour chaque entité de ligne que j'ai besoin de dessiner car j'ai peur, cela causerait un problème de performance majeur pour moi car je devrais créer un nombre d'entités ligne dans mon application. Si cela n'est pas possible via WPF, cela sera-t-il possible dans DriectX 9 ou 10? Puis-je mélanger directX dans WPF? Je veux dire un moyen d'interops?Dessin de lignes 3D dans WPF

Merci beaucoup,

Répondre

1

Je me souviens 3D Tools for WPF travailler plutôt bien quelques années. Je n'ai pas travaillé sur quoi que ce soit en 3D dans WPF depuis longtemps, donc il est possible que d'autres bibliothèques aient dépassé cela, mais je ne peux pas le dire avec certitude.

Si cela ne vous intéresse pas, vous pouvez également essayer XNA dans WPF. De cette façon, vous garderez votre environnement géré (comme XNA a remplacé le DirectX géré). Here's an article à faire cela, mais je ne l'ai pas fait essayé.

+8

Une bibliothèque très améliorée, développée et activement développée pour WPF 3D est le Helix Toolkit (http://helixtoolkit.codeplex.com/). – Govert

+0

le helixtoolkit est déplacé vers github https://github.com/helix-toolkit/helix-toolkit –

+0

Mise à jour: XNA est obsolète maintenant (http://www.gamasutra.com/view/news/185894/Its_official_XNA_is_dead.php) – Nic

5

WPF fait 3D, and it does it well.

Vous devrez utiliser la classe Viewport3D pour créer de la 3D. À partir de WPF 3.5 SP1, vous pouvez composer DirectX et WPF de sorte que vous puissiez faire des applications 3D assez sophistiquées.

+0

Merci beaucoup. Je vous serais très reconnaissant si vous pouvez me donner quelques exemples de code pour montrer comment je peux le faire avec Interop WPF et DirectX. Un exemple pour dessiner une ligne 3D sera d'une grande aide. – Ram

+0

Comme pour WPF 3D, les exemples de code WPF SDK sont un excellent point de départ. Ce site a aussi de bons échantillons: http://windowsclient.net/downloads/folders/wpfsamples/default.aspx En ce qui concerne DX-> intégration de WPF, le Dr WPF a un bon exemple CodeProject: http: // www. codeproject.com/KB/WPF/D3DImage.aspx – codekaizen

+0

Merci .. Je vais essayer quelque chose avec ceci et poser plus de questions plus tard. – Ram

0

La bibliothèque 3DTools est en fait une mauvaise solution. Ce n'est pas simplement mon opinion. Par exemple, tester en ajoutant à la scène 100-150 objets de la bibliothèque 3DTools et essayer de tourner la scène. C'est la réponse concernant les outils 3D. Si vous souhaitez des performances rapides dans WPF 3D, vous devez créer vos propres maillages. Ce n'est pas une tâche compliquée car vous êtes développeur de CAO 3D. Et aussi si votre tâche concerne environ 1000-5000 objets 3D simples dans la scène utilisent WPF 3D, pas de problème. Si plus (ou très complexe): XNA, NET Wrappers de DirectX ou OpenGL.