Guillaume Randon's WebLog

Un peu de XNA...

La beta1 du XNA framework est disponible depuis la semaine dernière à l'adresse suivante http://msdn.microsoft.com/directx/XNA/default.aspx .

Vous trouverez attaché à ce post un petit exemple tournant sur cette beta1. Cet exemple reprend peu ou prou l'application d'exemple de mon tutorial directX disponible à l'adresse suivante : http://www.microsoft.com/france/msdn/directx/tutoriel/part1.mspx

Le framework XNA n'étant pas en tout point comparable à MDX l'exemple diffère cependant sur plusieurs points. D'abord les géométries ne sont pas chargées à partir de fichier .X mais à partir de fichier Collada. Il sera possible de charger des fichiers .X dans une application s'appuyant sur le framework XNA lorsque le 'content pipeline' sera disponible mais dans cette beta1 il faut soit créer les géométries de façon procédurale soit écrire le code pour lire ces informations dans un fichier.

Pour l'instant l'exemple est loin d'être parfait. La détection d'une collision entre une ligne et les triangles contenu dans le fichier Collada est effective mais la distance et le point de collision retourné sont pour l'instant faux (j'espère corriger cela sous peu). Malgrès cela je pense que cet exemple peut-être utile pour démarer. Il montre commant afficher et animer des objets 3D, comment utiliser des fichiers d'effet et les shaders qu'ils contiennent (ici par exemple l'eau réfléchi les géométries émergés et refracte ce qui est sous l'eau (mais en l'occurence il n'y a rien)). Par contre le calcul de l'image réfléchie utilise les clip planes et je n'ai pas encore trouvé le moyen de les activer.

Ce petit exemple fonctionne sur PC. Pour charger les géométries j'utilise le namespace System.XML, celui-ci existe sur XBOX mais je n'ai pas vérifier que toutes les fonctionnalitées de ce namespace que j'utilise sont présentes. Par ailleurs actuellement le programme ne gère que les entrées clavier (donc pour un PC).

Une dernière remarque, le programme charge correctement les fichiers Collada contenant des listes de triangles et provenant de XSI ou Sketchup. Je n'ai pas essayer de charger des fichiers générés avec d'autre modeleurs.

Par ailleurs pour les personnes intéressés par le framework XNA un développeur du groupe XNA fera une présentation en français sur ce sujet le 13 Septembre, vous trouverez tout les détails à l'adresse suivante http://www.microsoft.com/france/events/event.aspx?EventID=1032307074.

Bonne journée et bonne semaine à tous,

N'hésitez pas à me faire pars de vos remarques ou questions à l'adresse suivante guillara@microsoft.com .

 

Beta1 of XNA framework has been out for a week now. You can found it here http://msdn.microsoft.com/directx/XNA/default.aspx . You will found attached to this post a small sample which can show how to display 3D objects, use effects and shaders using the XNA Framework. The objects in the scene are loaded from Collada files. Collision detection with the triangle soup loaded from the Collada file is not yet fully working, it does detect collision all right but reports incorrect collision point. Still I though this preliminary sample could be of interest to some people. Please note that if your card don't support pixel shader version 2.0 the water will be very ugly (not reflection no refraction). The generate of what is reflected in the water uses clip planes. I haven't found the correct way to enable them yet although I have found the ClipPlanes property. If anyone has any suggestion around that please let me know. This sample is a port of a small MDX sample that I describe more in details here  http://www.microsoft.com/france/msdn/directx/tutoriel/part1.mspx , it is in french but in case you read that language it gives additional details on various portion of the code.

This sample works on PC. To load the Collada files I use the namespace System.XML, this namespace exists on XBOX but I have checked that all the functionnalities I use are supported there. Also at the moment this sample handles keyboard inputs, nothing else. Arrows let you control one of the two sphere, then Z,Q,S,D let you control the other one. On an english keyboard you might want to change that you just have to change the content of the CheckGameKeys method.

I hope this sample will be useful to you, please feel free to send any comments or question to guillara@microsoft.com

Published Tuesday, September 05, 2006 11:08 AM by Guillaume Randon

Attachment(s): TutXNA.zip

Comments

No Comments
Anonymous comments are disabled

© 2009 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement
Microsoft
Page view tracker