wpf interop xna direct3d

¿Qué tan bien se combina WPF con XNA en la vida real?



interop direct3d (6)

Thamir Khason presentó una excelente sesión sobre WPF / XNA / Silverlight en Tech-ed ... Aquí están sus diapositivas: http://blogs.microsoft.co.il/blogs/tamir/archive/2008/04/14/my- teched-08-presentation-slides-download.aspx

PD. Esto fue bastante impresionante de ver ... él tenía un juego que se ejecutaba en la xbox. ¡En su escritorio usando WPF para alojar XNA y en su teléfono móvil usando Silverlight, todos jugando uno contra el otro!

Entiendo que hay varias formas de combinar XNA y WPF dentro de la misma aplicación. Me resulta tentador usar WPF para todas las cosas de GUI y HUD en mis juegos de XNA. ¿Alguien tiene alguna experiencia práctica sobre cómo funciona este enfoque en la vida real con .NET 3.5 SP1? ¿Alguna dificultad (como el "problema del espacio aéreo" )? ¿Alguna pista sobre lo que appoach funciona mejor?


Personalmente, desaconsejaría intentar hacer esta integración. Sé a lo que te refieres ... la facilidad de definir elementos GUI / HUD en WPF supera con creces el intento de hacer lo mismo en el antiguo XNA. Sin embargo, piense de manera realista en el tiempo que pasará tratando de habilitar este escenario en comparación con cuánto ahorraría si hiciera todo "de forma nativa" en XNA. Además (y esto puede no ser un problema para usted), WPF no es compatible con xbox o zune ... por lo que se limitaría :-)


La integración de XNA ocupa un lugar destacado en nuestra lista de cosas que se deben agregar a WPF, por lo que buscaremos esto para futuras versiones. Estén atentos (al blog de GregSc) para conocer los detalles a medida que estén disponibles.

Ian Ellison-Taylor

Lea más sobre esto aquí


Hola, sé que esto es un tiempo después de su publicación, pero si aún está buscando una solución de WPF para XNA, puede consultar http://red-badger.com/product . La solución XPF coloca wpf en XNA. Así que eche un vistazo, en este momento es gratis, ya que está en versión beta, pero eso cambiará a medida que agregan más componentes


Desea utilizar un D3DImage, pero D3DImage funciona de forma diferente en Windows XP que en Windows Vista o 7.

En Vista o 7, crea un objeto de renderización NO bloqueable para usar con el D3DImage y utiliza un dispositivo Direct3D9EX. En XP, usted crea un renderTarget bloqueable para usar con el D3DImage y utiliza un dispositivo Direct3D9 normal.

También insiste en usar XNA, sería mejor usar SlimDX si solo hace esto para la PC. SlimDX no carece de características de Direct3D y es compatible con Direct3D 9, 10 y 11.

http://slimdx.org/