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 | |||
espace_public:e3d [01/09/2008 19:45] xlurp effacée |
— (Version actuelle) | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== Fichiers .e3d ====== | ||
- | |||
- | Ce format de fichier sert au stockage des objets 3d statiques. (ie : armes, meubles, rochers, ...) | ||
- | <note> | ||
- | __**Note : **__ la description de ce format est partielle et peut être fausse, merci de la corriger si vous avez des informations. | ||
- | </note> | ||
- | |||
- | File Format E3D \\ | ||
- | Magic NUMBER : e3dx \\ | ||
- | Version describe : 1.0.0.0 \\ | ||
- | LITTLE ENDIAN File Format \\ | ||
- | \\ | ||
- | Le format de fichier possède les sections suivantes : | ||
- | |||
- | |||
- | ===== Inconnu ===== | ||
- | |||
- | * OFFSET 0 : | ||
- | 4 octets avec le magic number(ASCII 7-bits format) doit être e3dx | ||
- | |||
- | * OFFSET 4 : | ||
- | 4 octets avec la version du format .e3d, actuellement : 1 0 0 0 | ||
- | |||
- | * OFFSET 8 : | ||
- | int header_offset : La position du début du header dans le fichier. | ||
- | |||
- | * OFFSET 12-27 : | ||
- | Inconnu avec des informations. | ||
- | |||
- | ===== Entête ===== | ||
- | 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 | ||
- | |||