Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
|
espace_public:e3d [06/08/2008 17:06] xlurp |
— (Version actuelle) | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | ====== fichiers e3d ====== | ||
| - | |||
| - | Ce format de fichier sert au stockage des objets 3d statiques (ie : armes, meubles, rochers, ...) | ||
| - | |||
| - | __**Note : **__ la description de ce format est partielle et peut être fausse, merci de la corriger si vous avez des informations | ||
| - | |||
| - | File Format E3D \\ | ||
| - | Magic NUMBER : e3dx \\ | ||
| - | Version describe : 1.0.0.0 \\ | ||
| - | LITTLE ENDIAN File Format \\ | ||
| - | \\ | ||
| - | Le format de fichier possede les sections suivantes | ||
| - | |||
| - | |||
| - | ===== Inconnu ===== | ||
| - | |||
| - | * OFFSET 0 : | ||
| - | 4 octets avec le magic number(ASCII 7-bits format) | ||
| - | doit etre e3dx | ||
| - | |||
| - | * OFFSET 4 : | ||
| - | 4 octets avec la version du format e3d, actuellement : 1 0 0 0 | ||
| - | |||
| - | * OFFSET 8 : | ||
| - | int header_offset : la position du debut du header dans le fichier | ||
| - | |||
| - | * OFFSET 12-27 : | ||
| - | inconnu avec des informations | ||
| - | |||
| - | ===== Entete ===== | ||
| - | OFFSET 28 : HEADER size 40 le header du fichier avec dedans | ||
| - | * int vertex_no; position 0 nombres de vertex(sommets) dans le fichier | ||
| - | * int vertex_size; position 4 taille d'une vertice | ||
| - | * int vertex_offset; position 8 position de départ de la liste de vertex | ||
| - | |||
| - | * int index_no; position 12 nombre d'index dans le fichier | ||
| - | * int index_size; position 16 taille d'un index, 2 ou 4 | ||
| - | * int index_offset; position 20 position de départ de la liste d'index | ||
| - | |||
| - | * int material_no; position 24 nombre de "material" dans le fichier | ||
| - | * int material_size; position 28 taille d'un material | ||
| - | * int material_offset position 32 position de la liste de material dans le fichier | ||
| - | * char vertex_options; position 36 vertex options, cela modifie comment interpreté la liste de vertex pour ce matériel, je ne sais pas comment | ||
| - | |||
| - | * char reserved_1; position 37 not used | ||
| - | * char reserved_2; position 38 not used | ||
| - | * char reserved_3; position 39 not used | ||
| - | |||
| - | ===== Liste des VERTEX ===== | ||
| - | |||
| - | * offset : dans l' header, normalement 68 | ||
| - | * nombre d'éléments : dans l'header | ||
| - | * taille d'un élément : dans l'header , 16 bytes | ||
| - | ==== VERTEX : ==== | ||
| - | |||
| - | un tableau de 4 flottants, utilisation inconnue mais avec dedans x, y et z | ||
| - | |||
| - | ===== Liste des INDICES ===== | ||
| - | |||
| - | * offset : dans l'header, changeant | ||
| - | * nombre d'éléments : dans l'header | ||
| - | * taille d'un élément : dans l'header, 2 ou 4 octets | ||
| - | ==== INDICE ==== | ||
| - | l'indice est probablement un indice dans la liste des vertex | ||
| - | |||
| - | * si la taille est de 2, un short non signé | ||
| - | * si la taille est de 4, un entier non signé | ||
| - | |||
| - | ===== LIST OF MATERIALS ===== | ||
| - | |||
| - | * offset : dans l' header, | ||
| - | * nombre d'éléments : dans l'header | ||
| - | * taille d'un élément : dans l'header , 172 bytes | ||
| - | |||
| - | ==== MATERIAL ==== | ||
| - | |||
| - | * int options; position 0 utilisation inconnue | ||
| - | * char material_name[128]; position 4 nom de la texture (et de son fichier) pour cette partie de l'objet | ||
| - | * float min_x; position 132 | ||
| - | * float min_y; position 136 | ||
| - | * float min_z; position 140 | ||
| - | * float max_x; position 144 | ||
| - | * float max_y; position 148 | ||
| - | * float max_z; position 152 | ||
| - | * extrimités de l'objet, pour l'utilisation de la texture certainement | ||
| - | * int triangles_min_index; position 156 utilisation inconnue | ||
| - | * int triangles_max_index; position 160 utilisation inconnue | ||
| - | * int index; position 164 utilisation inconnue, certainement le premier INDICE a utiliser | ||
| - | * int count; position 168 nombre d'indices a utiliser | ||
| - | |||
| - | ====== Note ====== | ||
| - | Documentation source : [[http://www.assembla.com/wiki/show/elmapmaker|projet ElmapTools]] d'Etory & XlurP | ||
| - | |||