Sunday, June 03, 2007

Lecture d'un Mesh DirectX (.x) avec OpenGL (projet)

Bonjour à tous,

Cet après-midi, j'ai démarré un projet qui semble très prometteur : la gestion des modèles (Mesh) DirectX avec OpenGL.

Laissez-moi vous expliquer un peu ce dont il est question. Lorsque l'on programme en DirectX, il est possible d'importer des modèles 3D faits avec Blender, 3D Studio Max, etc. Ces modèles ont comme extension .x et leur format est décrit dans la documentation Microsoft. Évidemment, il existe d'autres formats de modèles 3D, mais comme j'ai déjà travaillé avec des .x et qu'ils semblent assez répandus, j'ai décidé de porter mon projet là-dessus.

Évidemment, DirectX propose une foule de fonctions pour gérer des fichiers X, mais pas OpenGL (qui est sont concurrent libre). J'ai donc décidé de me lancer là-dedans.

Je suis donc en train d'écrire un programme en C++ qui gère ce type de fichier.

La principale difficulté reste l'analyse syntaxe du fichier, puisque la gestion des expressions régulières est assez compliquée dans ce langage.

Pour l'instant, mon programme C++ est capable de gérer les points, les matrices de transformations ainsi que les "Index Buffer". Je devrais bientôt y ajouter la gestion des textures et des matériaux (lumière).

Je ne mets pas mon code tout de suite à la disposition de la communauté, car il n'est pas encore à un stade assez avancé, mais patience ! Je devrais le mettre en ligne dans peu de temps.

Bien à vous,

Guillaume.