2012-05-13 4 views
1

Je suis en train de concevoir un jeu et je pense à utiliser WPF pour créer un prototype simple du gameplay de base.Rendu WPF en temps réel

Est-il possible de rendre des images 2d basiques dans WPF en temps réel? Par graphisme de base, je veux dire des formes simples telles que lignes, cercles, etc. Par "temps réel" je veux dire que les choses sont basées sur des paramètres tels que la vélocité, l'accélération, etc. n'utilisez pas de storyboards pour les animations.

Merci

Répondre

8

Découvrez la question précédente High Performance Graphics using the WPF Visual Layer pour une bonne discussion à ce sujet. Alors que WPF fournit un excellent cadre pour les graphiques vectoriels riches, il manque quelque peu de performance 2D en temps réel. Par exemple, en fonction de la complexité de votre scène, vous pouvez utiliser DrawingVisuals ou des classes de formes virtualisées (graphiques vectoriels WPF) pour dessiner vos sprites. En allant un peu plus bas niveau, vous pouvez mettre en cache des sprites en utilisant le mode BitmapCache disponible dans .NET4.0, ou en les pré-passant en bitmaps et en utilisant divers optimization patterns pour améliorer le débit. Au niveau inférieur, vous pouvez mélanger des graphiques Vector/Raster à l'aide du projet fantantastic WriteableBitmapEx ou des graphiques Vector/GPU à l'aide du D3DImage. En ce qui concerne la mise à jour de votre scène, vous devez écrire un moteur de jeu primitif où sur l'événement CompositionTarget.Rendering (tiré sur le redessin de l'écran) vous obtenez les paramètres mis à jour et les positions/orientations de calcul de vos sprites. Quelque chose qui pourrait aider avec ceci est ce grand codeplex project qui intègre la physique de WPF/Silverlight et de Farseer.