Fichiers .e3d
Ce format de fichier sert au stockage des objets 3d statiques. (décors, ie : armes dans le décors, 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 possède les sections suivantes :
Inconnu
4 octets avec le magic number(ASCII 7-bits format) doit être e3dx
4 octets avec la version du format .e3d, actuellement : 1 0 0 0
int header_offset : La position du début du header dans le fichier.
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
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