2010-01-21 22 views
8

Estoy trabajando en una aplicación CAD y pensando en usar WPF para renderizar mis entidades. Pero parece que WPF no admite dibujar líneas 3D. ¿Hay alguna forma de dibujar líneas 3D en WPF? No me gusta crear una malla para cada entidad de línea que necesito dibujar, porque me temo que esto podría causarme un problema importante de rendimiento, ya que tendría que crear un número de entidades de línea en mi aplicación. Si esto no es posible a través de WPF, ¿será posible hacerlo en DriectX 9 o 10? ¿Puedo mezclar directX en WPF? Me refiero a alguna forma de interoperabilidad?Dibujando líneas 3D en WPF

Muchas gracias,

Respuesta

1

Creo recordar 3D Tools for WPF trabaja bastante bien hace unos años. No he trabajado en 3D en WPF desde hace mucho tiempo, por lo que es posible que otras bibliotecas hayan superado esto, pero no puedo asegurarlo.

Si no está interesado en trabajar con eso, también puede considerar intentar XNA dentro de WPF. De esta forma, mantendrá su entorno administrado (ya que XNA ha reemplazado DirectX administrado). Here's an article para hacer esto, aunque en realidad no lo he intentado.

+8

Una biblioteca muy mejorada, desarrollada y desarrollada activamente para WPF 3D es Helix Toolkit (http://helixtoolkit.codeplex.com/). – Govert

+0

helixtoolkit se mueve a github https://github.com/helix-toolkit/helix-toolkit –

+0

Actualización: XNA está en desuso ahora (http://www.gamasutra.com/view/news/185894/Its_official_XNA_is_dead.php) – Nic

5

WPF does do 3D, and it does it well.

Deberá usar la clase Viewport3D para crear 3D.

A partir de WPF 3.5 SP1, puede componer DirectX y WPF para que pueda realizar aplicaciones 3D bastante sofisticadas.

+0

Muchas gracias. Agradecería mucho si me puede proporcionar algún código de muestra para mostrar cómo puedo hacer interoperabilidad con WPF y DirectX. Un ejemplo para dibujar una línea 3D será de mucha ayuda. – Ram

+0

En cuanto a WPF 3D, los ejemplos del código WPF SDK son un gran lugar para comenzar. Este sitio también tiene buenas muestras: http://windowsclient.net/downloads/folders/wpfsamples/default.aspx En cuanto a la integración DX-> WPF, el Dr. WPF tiene un buen ejemplo en CodeProject: http: // www. codeproject.com/KB/WPF/D3DImage.aspx – codekaizen

+0

Gracias .. Intentaré algo con esto y haré más preguntas más tarde. – Ram

0

La biblioteca 3DTools de hecho es una mala solución. No es simplemente mi opinión. Por ejemplo, pruébelo agregando a la escena 100-150 objetos de la biblioteca 3DTools e intente rotar la escena. Es la respuesta relacionada con las herramientas 3D. Si desea un rendimiento rápido en WPF 3D, debe construir sus propias mallas. No es una tarea complicada ya que eres un desarrollador 3D de CAD. Y también si su tarea está relacionada con aproximadamente 1000-5000 objetos 3D simples dentro de la escena, use WPF 3D, no hay problema. Si es más (o muy complejo): XNA, NET Wrappers of DirectX o OpenGL.

Cuestiones relacionadas