Texel
DirectX | Index | Contact

Les fichiers obj de Blender



Voici le contenu d'un fichier obj décrivant un cube:

3DG1					// ne sert à rien (je crois)
8					// nombre de vertices. Puis liste des vertices
-25.000000 -25.000000 0.000000		// un vertex par lignes (x y z) 
25.000000 -25.000000 0.000000
-25.000000 25.000000 0.000000
25.000000 25.000000 0.000000
-25.000000 -25.000000 50.000000
25.000000 -25.000000 50.000000
-25.000000 25.000000 50.000000
25.000000 25.000000 50.000000
3 0 2 3 0xbf8fb9			// nbr de côté par face, index, couleurs 
3 1 0 3 0xbf8fb9
3 4 5 7 0xbf8fb9
3 7 6 4 0xbf8fb9
3 0 1 5 0xbf8fb9
3 4 0 5 0xbf8fb9
3 1 3 7 0xbf8fb9
3 7 5 1 0xbf8fb9
3 3 2 6 0xbf8fb9
3 6 7 3 0xbf8fb9
3 2 0 4 0xbf8fb9
3 4 6 2 0xbf8fb9























Commentaires

Chacune des lignes qui suivent la liste des vertices contient:

Le nombre de côté par face:

Sans commentaire.

Une suite d'index:

Ils définissent les numéros des vertices qui compose la face.
Ces numéros correspondent au numéro de la ligne dans la liste des vertices du dessus.

La couleur de la face:

Cette couleur est codée par un nombre en hexadécimal de 5 à 6 chiffres.
Prenons l'exemple suivant: 0xbf8fb9
0x nous indique seulement que le nombre est en hexadécimal.
bf composant rouge de la couleur (toujours 2 chiffres. Exemple: 0f pour f)
8f composante verte de la couleur (toujours 2 chiffres)
b9 composante bleu de la couleur ( 1 ou 2 chiffres. Exemple f reste f)

Pour reconstituer la couleur pour un programme en DirectX avec des valeurs RGB de 0 à 255, il ne faut pas prendre le nombre en hexadécimal en entier. Il faut séparer les nombres des trois composante RGB et les convertir en décimal.

Exemple:
bf = (f*16^0) + (b*16^1) = 191

Télécharger une démo avec code source ICI. (DirectX 9 avec Vertex Buffer).




Version originale: Avril 2001
Dernière mise à jour: Octobre 2003
Par Grégory Smialek
www.texel.fr.fm