
                                FORM EB_M
                                ---------
                      Format des fichiers de EB_MODEL

                Version 3.29e du 25/01/1998 et sup‚rieures

            Programmation : BARANGER Emmanuel en GFA Basic 3.5EF

IMPORTANT :
===========

        Toutes les informations contenues dans ce texte sont sujet …
        modifications. Veuillez contacter le programmeur en cas de
        problŠme avec les fichiers EBS.

        Adresse :       BARANGER Emmnuel
                        12, rue de la Tuilerie
                        86220 Dang‚ Saint Romain
                        France

        A la date du 25 Janvier 1998, la version 3.29e est en phase de
        d‚veloppement. Toutes les donn‚es et informations la concernant
        sont sujet … modifications r‚guliŠrement. Mais, je ferais tous
        pour ne pas toucher … ce qui est d‚j… ‚crit.

INFORMATIONS GENERALES :
========================

     FORM EB_M est le format de fichier g‚n‚r‚ par le modeleur EB_MODEL sur
toutes machines compatible avec le TOS ATARI. Mais aussi pour PC et MAC sous
l'environnement MagiC, ou tout autre ‚mulateur bien con‡u tel PaCifiST.
     EB_M pour EB_MODEL bien ‚videment. Ces fichiers contiennent toutes les
informations utiles au chargement d'une scŠne tri-dimensionnelle. A savoir,
les objets et leur textures, la cam‚ra, les sources de lumiŠre, les calques,
...etc...

        Ce type de fichiers permet une ‚volution sans incompatibilit‚ avec
les anciennes version des programmes. Pour ce faire, il suffit au programme
chargeant un fichier de ce type de sauter les chunks iconnus et de passer au
suivant. De plus, il n'est pas obligatoire de mettre toutes les donn‚es dans
un fichier. Dans le cas des fichier EB_M seul les chunks FORM,EB_M,VERS,GENE,
OBJE et ETEN(en cas de primitives secondaires) sont obligatoires Tous les
autres peuvent ˆtres omis.

        Le FORM EB_M est sauv‚ au format MOTOROLA pour toutes les donn‚es
de plus d'un octets. C'est … dire dans le sens logique de la lecture de la
m‚moire. Il est conforme au format "IFF" des machines Amiga.

        Le format "IFF" (Interchange File Format) sauve les donn‚es en
paquets. Les "CHUNKs". Tous les chunks commencent par un mot long,
l'identificateur, qui est en ASCII. Il est imm‚diatement suivit par un
mot long indiquant la taille en octets des donn‚es qui suivent.

        Dans EB_MODEL, nous trouvons 12 primitives pr‚-d‚finies.
          Nø 0 : Le segment
          Nø 1 : La boite, tronc de pyramide, pyramide
          Nø 2 : La sphŠre
          Nø 3 : Le prisme
          Nø 4 : Le triangle
          Nø 5 : Le c“ne, tronc de c“ne, cylindre
          Nø 6 : L'h‚misphŠre
          Nø 7 : La boite arrondie
          Nø 8 : Le disque
          Nø 9 : Le texte	// Pas encore fait, mais pr‚vu //
          Nø10 : La colonne
          Nø11 : Le plan
          Nø12 : Le tore

Tous ces objets sont d‚clar‚s dans le fichier uniquement par leur num‚ro.
Pour tous les autres types d'objets (facette, tourn‚, extrud‚ etc...),
se trouve dans le fichier la d‚finition des points et des faces les
composants. Quelques sp‚cificit‚es sont … noter. Pour les Quadric, les
Quartics, les Bicubics et les Height_Fields, se trouvent en plus les
zones de d‚finitions qui leurs sont propres.

LES CHUNKS :
============

        Voici la liste des identificateurs de chunks que l'on peut trouver
dans un fichier FORM EB_M :

     +--------+-------------+---------------------------------------+
     |  ASCII | H‚xad‚cimal | Information                           |
     +--------+-------------+---------------------------------------+
     |  FORM  | &H464F524D  | Identificateur fichier "IFF"          |
     |  EB_M  | &H45425F4D  | Identificateur fichier EB_MODEL       |
     |  VERS  | &H56455253  | Nø de version … partir de 3.05        |
     |  GENE  | &H47454E45  | Informations g‚n‚rales                |
     |  OBJE  | &H4F424A45  | Les objets                            |
     |  TEXT  | &H54455854  | Les parties textures des objets       |
     |  PIGM  | &H5049474D  | Les parties pigments des objets       |
     |  NORM  | &H4E4F524D  | Les parties normals des objets        |
     |  FINI  | &H46494E49  | Les parties finish des objets         |
     |  HALO  | &H48414C4F  | Les parties halos des objets          |
     |  ETEN  | &H4554454E  | D‚finition des primitives secondaires |
     |  EDGE  | &H45444745  | D‚finition des normales aux points    |
     |  CAME  | &H43414D45  | La cam‚ra                             |
     |  LUMI  | &H4C554D49  | Les sources de lumiŠres               |
     |  BROU  | &H42524F55  | Le brouillard                         |
     |  BCKG  | &H42434B47  | Le fond d'image (Background)          |
     |  DEFT  | &H44454654  | La partie texture par d‚faut          |
     |  DEFP  | &H44454650  | La partie pigment par d‚faut          |
     |  DEFN  | &H4445464E  | La partie normal par d‚faut           |
     |  DEFF  | &H44454646  | La partie finish par d‚faut           |
     |  DEFH  | &H44454648  | La partie halo par d‚faut             |
     |  CALQ  | &H43414C51  | Les informations sur les calques      |
     +--------+-------------+---------------------------------------+

        Il y a plusieurs type de donn‚es dans un fichier FORM EB_M. On y
trouve :

   CHAR           8 bits non sign‚s (CaractŠres)      (1 octets)
   BYTE           8 Bits non sign‚s entiers           (1 octets)
   WORD           16 Bits sign‚s entiers              (2 octets)
   UWORD          16 Bits non sign‚s entiers          (2 octets)
   LONG           32 Bits sign‚s entiers              (4 octets)
   ULONG          32 Bit non sign‚s entiers           (4 octets)
   SINGLE         32 Bit sign‚s flottant (format IEE) (4 octets)

STRUCTURE DES CHUNKS :
======================

        Chunk FORM :
                        LONG    : 4 caractŠres = "FORM"
                        LONG    : longeur du fichier complet
=============================================================================
        Chunk EB_M :
                        LONG    : 4 caractŠres = "EB_M"
                        LONG    : Longueur de la ligne d'informtion
              donn‚es
                        CHAR[?] : Ligne d'information contenant le nom et le
num‚ro de version du programme ayant g‚n‚r‚ le fichier ou tout autre
information que le cr‚ateur du programme g‚n‚rateur veut mettre ici.

=============================================================================
        Chunk GENE :
                        LONG    : 4 caractŠres = "GENE"
                        LONG    : Taille des donn‚es (336+(?*4))
              donn‚es
                        UWORD   : Nombre d'objets de la scŠne
                        UWORD   : Nombre d'objets "primitives secondaires"
                        UWORD   : Nombre de sources de lumiŠres
                        CHAR[66]: Ligne d'information Nø1
                        CHAR[66]: Ligne d'information Nø2
                        CHAR[66]: Ligne d'information Nø3
                        CHAR[66]: Ligne d'information Nø4
                        CHAR[66]: Ligne d'information Nø5
                        LONG *? : Taille de m‚moire utile aux primitives
                                  secondaires
                                  (SINGLE * Nombre d'objets "primitives
                                  secondaires")

=============================================================================
        Chunk OBJE :
                        LONG    : 4 caractŠres = "OBJE"
                        LONG    : Taille des donnees (84*Nombre d'objets)

              donn‚es
+-------------------------------------------------------------------+
|                            OBJET                                  |
+-----------+----------------+--------------------------------------+
|  Offset   |    Taille      |  Information                         |
+-----------+----------------+--------------------------------------+
|           |                |                                      |
|    0      |     UWORD      |  Num‚ro de l'objet                   |
|    2      |     SINGLE     |  Position en X                       |
|    6      |     SINGLE     |  Position en Y                       |
|   10      |     SINGLE     |  Position en Z                       |
|   14      |     SINGLE     |  Largeur                             |
|   18      |     SINGLE     |  Hauteur                             |
|   22      |     SINGLE     |  Profondeur                          |
|   26      |     SINGLE     |  Rotation sur X                      |
|   30      |     SINGLE     |  Rotation sur Y                      |
|   34      |     SINGLE     |  Rotation sur Z                      |
|   38      |     WORD       |  Couleur de l'objet                  |
|   40      |     WORD       |  Type de C.S.G.                      |
|   42      |     WORD       |  Relation C.S.G.                     |
|   44      |     CHAR[22]   |  Nom de l'objet                      |
|   66      |     BYTE       |  Nødu calque de l'objet              |
|   67      |     BYTE       |  Rapport sp‚ciale                    |
|   68      |     CHAR[8]    |  Nom Height_Field                    |
|           |                |                                      |
|   76      |     BYTE       |  Flag:Bit:0 Ombre        4 Bivubic   |
|           |                |            1 Masque       5 Montagne |
|           |                |            2 Ouvert       6 Facette  |
|           |                |            3 BibliothŠque 7          |
|           |                |                                      |
|   77      |     BYTE       |  Flag:Bit:0 Quadric      4 S.O.R.    |
|           |                |            1 Quartic      5 Prism    |
|           |                |            2 4D Julia     6 Text     |
|           |                |            3 Lathe        7 Smooth   |
|           |                |                                      |
|   78      |     UWORD      |  Num‚ro du pŠre                      |
|  ----     |    --------    | -------------------------------------|
|   80      |     SINGLE     |  Threshlod blob ou Force composant(*)|
|  ----     |    --------    | -------------------------------------|
|   ou      |****************|**************************************|
|  ----     |    --------    | -------------------------------------|
|   80      |     BYTE       |  Type de courbe                   (*)|
|   81      |     BYTE       |  Mode facette                        |
|   82      |     BYTE       |  Type de sweep                       |
|   83      |     BYTE       |  Vide                                |
|  ----     |    --------    | -------------------------------------|
|   ou      |****************|**************************************|
|  ----     |    --------    | -------------------------------------|
|   80      |     WORD       |  Angle de d‚part d'un Tore        (*)|
|   82      |     WORD       |  Angle de fin d'un Tore              |
+-----------+----------------+--------------------------------------+

(*)
Remarque : A l'offset 80, les donn‚es sont de trois natures.
           En cas de blob, on trouve le threshold dans un SINGLE
           En cas de composant de blob, on trouve la force dans un SINGLE
        MAIS
           En cas d'objet tourn‚ ou extrud‚ de type LATHE/SOR/PRISM
           on trouve 3 octets. Deux seulement vous sont importants.

           Le premier indique le type de courbe : =0 Linear
                                                  =1 Quadratic
                                                  =2 Cubique

           Le troisiŠme indique le type de sweep: =0 Linear
                                                  =1 Conique
        ET
           En cas de Tore, on trouve 4 octets s‚par‚s en 2 mots
           sign‚s (valeur de -360 … +360). Ces deux valeurs
           repr‚sentes les angles de d‚part et d'arriv‚e pour
           les Tores. Cela permet par exemple de r‚aliser directement
           un demi Tore, ou un quart de Tore, ou tout autre morceau de
           Tore sans passer par les C.S.G.. Plut“t sympa non ?
           
=============================================================================
        Chunk TEXT :
                        LONG    : 4 caractŠres = "TEXT"
                        LONG    : Taille des donnees (90*Nombre d'objets)

              donn‚es
+-------------------------------------------------------------------+
|                            TEXTURE                                |
+-----------+----------------+--------------------------------------+
|  Offset   |    Taille      |  Information                         |
+-----------+----------------+--------------------------------------+
|           |                |                                      |
|    0      |     UWORD      |  Num‚ro de texture pr‚-d‚finie       |
|    2      |     BYTE       |  Num‚ro de motif (0 … 23. 24=aucun)  |
|           |                |                                      |
|    3      |     BYTE       |  Flag:Bit:0             4 Warps      |
|           |                |           1 Slop_map    5 Hollow     |
|           |                |           2 Texture_map 6 Multiple   |
|           |                |           3 ramp_wave   7            |
|           |                |                                      |
|    4      |     SINGLE     |  Turbulence X                        |
|    8      |     SINGLE     |  Turbulence Y                        |
|   12      |     SINGLE     |  Turbulence Z                        |
|   16      |     BYTE       |  Octave                              |
|   17      |     BYTE       |  Omega                               |
|   18      |     BYTE       |  Lambda                              |
|   19      |     BYTE       |  Frequency                           |
|   20      |     BYTE       |  Phase                               |
|           |                |                                      |
|   21      |     BYTE       |  Flag:Bit:0 Turbulence  4 Frequency  |
|           |                |           1 Octave      5 Phase      |
|           |                |           2 Omega       6            |
|           |                |           3 Lambda      7            |
|           |                |                                      |
|   22      |     SINGLE     |  Translate X                         |
|   26      |     SINGLE     |  Translate Y                         |
|   30      |     SINGLE     |  Translate Z                         |
|   34      |     SINGLE     |  Rotation X                          |
|   38      |     SINGLE     |  Rotation Y                          |
|   42      |     SINGLE     |  Rotation Z                          |
|   46      |     SINGLE     |  Scale X                             |
|   50      |     SINGLE     |  Scale Y                             |
|   54      |     SINGLE     |  Scale Z                             |
|   58      |     UWORD      |  Num‚ro Slop_map                     |
|   60      |     UWORD      |  Num‚ro Texture_map                  |
|   62      |     UWORD      |  Vide                                |
|   64      |     UWORD      |  Num‚ro Warps                        |
|   66      |     SINGLE     |  ParamŠtre Nø1                       |
|   70      |     SINGLE     |  ParamŠtre Nø2                       |
|   74      |     SINGLE     |  ParamŠtre Nø3                       |
|   78      |     SINGLE     |  ParamŠtre Nø4                       |
|   82      |     SINGLE     |  ParamŠtre Nø5                       |
|   86      |     SINGLE     |  ParamŠtre Nø6                       |
+-----------+----------------+--------------------------------------+

=============================================================================
        Chunk PIGM :
                        LONG    : 4 caractŠres = "PIGM"
                        LONG    : Taille des donnees (102*Nombre d'objets)

              donn‚es
+-------------------------------------------------------------------+
|                            PIGMENT                                |
+-----------+----------------+--------------------------------------+
|  Offset   |    Taille      |  Information                         |
+-----------+----------------+--------------------------------------+
|           |                |                                      |
|    0      |     UWORD      |  Num‚ro de pigment pr‚-d‚finie       |
|    2      |     BYTE       |  Num‚ro de motif (0 … 23. 24=aucun)  |
|           |                |                                      |
|    3      |     BYTE       |  Flag:Bit:0 Mapping     4 Warps      |
|           |                |           1 Color_map   5 Couleur    +---+
|           |                |           2 Pigment_map 6 Couleur_rapide |
|           |                |           3 ramp_wave   7            +---+
|           |                |                                      |
|    4      |     SINGLE     |  Turbulence X                        |
|    8      |     SINGLE     |  Turbulence Y                        |
|   12      |     SINGLE     |  Turbulence Z                        |
|   16      |     BYTE       |  Octave                              |
|   17      |     BYTE       |  Omega                               |
|   18      |     BYTE       |  Lambda                              |
|   19      |     BYTE       |  Frequency                           |
|   20      |     BYTE       |  Phase                               |
|           |                |                                      |
|   21      |     BYTE       |  Flag:Bit:0 Turbulence  4 Frequency  |
|           |                |           1 Octave      5 Phase      |
|           |                |           2 Omega       6            |
|           |                |           3 Lambda      7            |
|           |                |                                      |
|   22      |     SINGLE     |  Translate X                         |
|   26      |     SINGLE     |  Translate Y                         |
|   30      |     SINGLE     |  Translate Z                         |
|   34      |     SINGLE     |  Rotation X                          |
|   38      |     SINGLE     |  Rotation Y                          |
|   42      |     SINGLE     |  Rotation Z                          |
|   46      |     SINGLE     |  Scale X                             |
|   50      |     SINGLE     |  Scale Y                             |
|   54      |     SINGLE     |  Scale Z                             |
|   58      |     UWORD      |  Num‚ro Slop_map                     |
|   60      |     UWORD      |  Num‚ro Pigement_map                 |
|   62      |     UWORD      |  Num‚ro Projection (Mapping)         |
|   64      |     UWORD      |  Num‚ro Warps                        |
|   66      |     SINGLE     |  ParamŠtre Nø1                       |
|   70      |     SINGLE     |  ParamŠtre Nø2                       |
|   74      |     SINGLE     |  ParamŠtre Nø3                       |
|   78      |     SINGLE     |  ParamŠtre Nø4                       |
|   82      |     SINGLE     |  ParamŠtre Nø5                       |
|   86      |     SINGLE     |  ParamŠtre Nø6                       |
|   90      |     UWORD      |  Num‚ro de couleur pr‚-d‚finie       |
|   92      |     BYTE       |  Rouge                               |
|   93      |     BYTE       |  Vert                                |
|   94      |     BYTE       |  Bleu                                |
|   95      |     BYTE       |  Transparence                        |
|   96      |     UWORD      |  Num‚ro de couleur rapide pr‚-d‚finie|
|   98      |     BYTE       |  Rouge                               |
|   99      |     BYTE       |  Vert                                |
|  100      |     BYTE       |  Bleu                                |
|  101      |     BYTE       |  Transparence                        |
+-----------+----------------+--------------------------------------+

=============================================================================
        Chunk NORM :
                        LONG    : 4 caractŠres = "NORM"
                        LONG    : Taille des donnees (90*Nombre d'objets)

              donn‚es
+-------------------------------------------------------------------+
|                            NORMAL                                 |
+-----------+----------------+--------------------------------------+
|  Offset   |    Taille      |  Information                         |
+-----------+----------------+--------------------------------------+
|           |                |                                      |
|    0      |     UWORD      |  Num‚ro de normal pr‚-d‚finie        |
|    2      |     BYTE       |  Num‚ro de motif (0 … 23. 24=aucun)  |
|           |                |                                      |
|    3      |     BYTE       |  Flag:Bit:0 Bump_map    4 Warps      |
|           |                |           1 Slop_map    5            |
|           |                |           2 Normal_map  6            |
|           |                |           3 ramp_wave   7            |
|           |                |                                      |
|    4      |     SINGLE     |  Turbulence X                        |
|    8      |     SINGLE     |  Turbulence Y                        |
|   12      |     SINGLE     |  Turbulence Z                        |
|   16      |     BYTE       |  Octave                              |
|   17      |     BYTE       |  Omega                               |
|   18      |     BYTE       |  Lambda                              |
|   19      |     BYTE       |  Frequency                           |
|   20      |     BYTE       |  Phase                               |
|           |                |                                      |
|   21      |     BYTE       |  Flag:Bit:0 Turbulence  4 Frequency  |
|           |                |           1 Octave      5 Phase      |
|           |                |           2 Omega       6            |
|           |                |           3 Lambda      7            |
|           |                |                                      |
|   22      |     SINGLE     |  Translate X                         |
|   26      |     SINGLE     |  Translate Y                         |
|   30      |     SINGLE     |  Translate Z                         |
|   34      |     SINGLE     |  Rotation X                          |
|   38      |     SINGLE     |  Rotation Y                          |
|   42      |     SINGLE     |  Rotation Z                          |
|   46      |     SINGLE     |  Scale X                             |
|   50      |     SINGLE     |  Scale Y                             |
|   54      |     SINGLE     |  Scale Z                             |
|   58      |     UWORD      |  Num‚ro Slop_map                     |
|   60      |     UWORD      |  Num‚ro Normal_map                   |
|   62      |     UWORD      |  Num‚ro Projection (Bump)            |
|   64      |     UWORD      |  Num‚ro Warps                        |
|   66      |     SINGLE     |  ParamŠtre Nø1                       |
|   70      |     SINGLE     |  ParamŠtre Nø2                       |
|   74      |     SINGLE     |  ParamŠtre Nø3                       |
|   78      |     SINGLE     |  ParamŠtre Nø4                       |
|   82      |     SINGLE     |  ParamŠtre Nø5                       |
|   86      |     SINGLE     |  ParamŠtre Nø6                       |
+-----------+----------------+--------------------------------------+

=============================================================================
        Chunk FINI :
                        LONG    : 4 caractŠres = "FINI"
                        LONG    : Taille des donn‚es (48*Nombre d'objets)

              donn‚es
+-------------------------------------------------------------------+
|                            FINISH                                 |
+-----------+----------------+--------------------------------------+
|  Offset   |    Taille      |  Information                         |
+-----------+----------------+--------------------------------------+
|           |                |                                      |
|    0      |     UWORD      |  Num‚ro de finish pr‚-d‚finie        |
|           |                |                                      |
|    2      |     BYTE       |  Flag:Bit:0 Diffuse     4 Ambient    +-------+
|           |                |           1 R‚fection   5 Specular/Roughness |
|           |                |           2 Brillance   6 Caustic            |
|           |                |           3 Crand       7 Phong/Phong_Size   |
|           |                |                                      +-------+
|    3      |     BYTE       |  Flag:Bit:0 R‚fraction  4 Turbulence |
|           |                |           1 Metallique  5 Distance   |
|           |                |           2 Att‚nuation 6            |
|           |                |           3 Iridescence 7            |
|           |                |                                      |
|    4      |     BYTE       |  I.O.R. pr‚ d‚fini                   |
|           |                |              =   0 Aucun             |
|           |                |              = 100 Air               |
|           |                |              = 133 Eau               |
|           |                |              = 150 Verre             |
|           |                |              = 240 Diamant           |
|           |                |              Autre Voir octet suivant|
|           |                |                                      |
|    5      |     BYTE       |  I.O.R. libre                        |
|    6      |     BYTE       |  Diffuse                             |
|    7      |     BYTE       |  Brillance                           |
|    8      |     UWORD      |  Nø couleur r‚fraction pr‚ d‚finie   |
|   10      |     BYTE       |  Rouge                               |
|   11      |     BYTE       |  Vert                                |
|   12      |     BYTE       |  Bleu                                |
|   13      |     BYTE       |  Transparence                        |
|   14      |     UWORD      |  Nø couleur ambient pr‚ d‚finir      |
|   16      |     BYTE       |  Rouge                               |
|   17      |     BYTE       |  Vert                                |
|   18      |     BYTE       |  Bleu                                |
|   19      |     BYTE       |  Transparence                        |
|   20      |     BYTE       |  Crand                               |
|   21      |     BYTE       |  Specular                            |
|   22      |     BYTE       |  Roughness                           |
|   23      |     BYTE       |  Phong                               |
|   24      |     BYTE       |  Phong_Size                          |
|   25      |     BYTE       |  Fade_Power  (1 ou 2)                |
|   26      |     SINGLE     |  Fade_Distance                       |
|   30      |     BYTE       |  Caustic                             |
|   31      |     BYTE       |  Amount                              |
|   32      |     SINGLE     |  Turbulence X                        |
|   36      |     SINGLE     |  Turbulence Y                        |
|   40      |     SINGLE     |  Turbulence Z                        |
|   44      |     SINGLE     |  Tickness                            |
+-----------+----------------+--------------------------------------+

=============================================================================
        Chunk HALO :
                        LONG    : 4 caractŠres = "HALO"
                        LONG    : Taille des donn‚es (76*Nombre d'objets)

              donn‚es
+-------------------------------------------------------------------+
|                            HALO                                   |
+-----------+----------------+--------------------------------------+
|  Offset   |    Taille      |  Information                         |
+-----------+----------------+--------------------------------------+
|           |                |                                      |
|    0      |     UWORD      |  Num‚ro de halo pr‚ d‚fini           |
|           |                |                                      |
|    2      |     BYTE       |  Flag:Bit:0 Att‚nuation 4 Constant   |
|           |                |           1 Emitting    5 Linear     |
|           |                |           2 Glowing     6 Cubic      |
|           |                |           3 Dust        7 Poly       |
|           |                |                                      |
|    3      |     BYTE       |  Flag:Bit:0 Planar      4 Color_map  |
|           |                |           1 Spherical   5            |
|           |                |           2 Cylindrical 6            |
|           |                |           3 Box         7            |
|           |                |                                      |
|    4      |     BYTE       |  Dust_type                           |
|           |                |          =0 Isotropic   =3 Rayleigh  +------+
|           |                |          =1 Mie_Hazy    =4 Heney_greenstein |
|           |                |          =2 Mie_Hurky   =5 Rien      +------+
|           |                |                                      |
|    5      |     BYTE       |  Exponant                            |
|    6      |     SINGLE     |  Max_value                           |
|   10      |     WORD       |  Eccentricity                        |
|   12      |     WORD       |  Nombre de sample                    |
|   14      |     BYTE       |  AA_Level                            |
|   15      |     BYTE       |  Jitter                              |
|   16      |     SINGLE     |  Treshold                            |
|   20      |     SINGLE     |  Turbulence X                        |
|   24      |     SINGLE     |  Turbulence Y                        |
|   28      |     SINGLE     |  Turbulence Z                        |
|   32      |     BYTE       |  Octave                              |
|   33      |     BYTE       |  Omega                               |
|   34      |     BYTE       |  Lambda                              |
|   35      |     BYTE       |  Frequency                           |
|   36      |     BYTE       |  Phase                               |
|           |                |                                      |
|   37      |     BYTE       |  Flag:Bit:0 Turbulence  4 Frequency  |
|           |                |           1 Octave      5 Phase      |
|           |                |           2 Omega       6            |
|           |                |           3 Lambda      7            |
|           |                |                                      |
|   38      |     SINGLE     |  Translate X                         |
|   42      |     SINGLE     |  Translate Y                         |
|   46      |     SINGLE     |  Translate Z                         |
|   50      |     SINGLE     |  Rotation X                          |
|   54      |     SINGLE     |  Rotation Y                          |
|   58      |     SINGLE     |  Rotation Z                          |
|   62      |     SINGLE     |  Scale X                             |
|   66      |     SINGLE     |  Scale Y                             |
|   70      |     SINGLE     |  Scale Z                             |
|   74      |     UWORD      |  Num‚ro Color_map                    |
+-----------+----------------+--------------------------------------+

=============================================================================
        Chunk ETEN :
                        LONG    : 4 caractŠres = "ETEN"
                        LONG    : Taille des donnees

Dans le chunk GENE, nous avons trouv‚ le nombre de primitves secondaires.
Il faut lire la zone suivante autant de fois que ce nombre moins 13.

              donn‚es
+-------------------------------------------------------------------+
|                       PRIMITIVE SECONDAIRE                        |
+-----------+----------------+--------------------------------------+
|  Offset   |    Taille      |  Information                         |
+-----------+----------------+--------------------------------------+
|           |                |                                      |
|    0      |     LONG       |  Taille de la zone point+faces       |
+-----------+----------------+--------------------------------------+
|    0      |     UWORD      |  Nombre-1 de points (Nbp)            |
|           |                |                                      |
|    2      |     LONG       |  Coordonn‚e X (*1024) Nø0            |
|    6      |     LONG       |  Coordonn‚e Y (*1024) Nø0            |
|   10      |     LONG       |  Coordonn‚e Z (*1024) Nø0            |
|    .      |      .         |           .                          |
|    .      |      .         |           .                          |
|    .      |      .         |           .                          |
|   xx      |     LONG       |  Coordonn‚e X (*1024) NøNbp          |
|   xx      |     LONG       |  Coordonn‚e Y (*1024) NøNbp          |
|   xx      |     LONG       |  Coordonn‚e Z (*1024) NøNbp          |
|           |                |                                      |
|           |                |                                      |
|           |                |                                      |
|   xx      |     UWORD      |  Nombre-1 de faces (Nbf)             |
|           |                |                                      |
|   xx      |     UWORD      |  Nombre-1 de point de la face Nø0    |
|   xx      |     UWORD      |  Nødu point 0 de la face Nø0         |
|   xx      |     UWORD      |  Nødu point 1 de la face Nø0         |
|   xx      |     UWORD      |  Nødu point 2 de la face Nø0         |
|   xx      |     UWORD      |  Nødu point 3 de la face Nø0         |
|    .      |      .         |           .                          |
|    .      |      .         |           .                          |
|    .      |      .         |           .                          |
|   xx      |     UWORD      |  Nombre-1 de point de la face NøNbf  |
|   xx      |     UWORD      |  Nødu point 0 de la face NøNbf       |
|   xx      |     UWORD      |  Nødu point 1 de la face NøNbf       |
|   xx      |     UWORD      |  Nødu point 2 de la face NøNbf       |
|   xx      |     UWORD      |  Nødu point 3 de la face NøNbf       |
+-----------+----------------+--------------------------------------+

Remarque: Les zones Quartic, Quadric, Lathe, S.O.R., Prism, Montagne et
Bicubic sont un peu plus complexes que cela puisse qu'elles contiennent
en plus les points de d‚finition permettant une modification de l'objet
aprŠs sa cr‚ation. Le principe utilis‚ en g‚n‚rale dans EB_MODEL et de
d‚finir plus de points qu'il n'y en a r‚‚llement dans l'objet. La place
ainsi d‚clar‚ permet de placer ce qui est utile … EB_MODEL. Il ne faut
donc pas, par cons‚quent trop vous fiez au nombre de points. Il ne sert
en fait surtout qu'… d‚finir la taille totale de la zone m‚moire selon
la formule suivante :

      (((Nbp+1)*12)+2)+(((Nbf+1)*10)+2)=Taille totale utilis‚ par l'objet

   Avec Nbp : Nombre-1 de points
        Nbf : Nombre-1 de faces

=============================================================================
        Chunk EDGE :
                        LONG    : 4 caractŠres = "EDGE"
                        LONG    : Taille des donn‚es (??? octets)
                    
 Cette zone est … lire autant de fois qu'il y a d'objets dans la scŠne.
 La valeur de l'offset 0 (LONG) n'est utile que pour le chargement du
 fichier. Elle permet de  savoir de combien d'octets le MALLOC doit
 ˆtre fait.

              donn‚es
+-------------------------------------------------------------------+
|    Vecteurs normaux aux points des objets pour GOURAUD et PHONG   |
+-----------+----------------+--------------------------------------+
|  Offset   |    Taille      |  Information                         |
+-----------+----------------+--------------------------------------+
|           |                |                                      |
|    0      |    LONG        |	Taille de la zone pour l'objet 1    |
|...........|................|......................................|
|    2      |    UWORD       |  Nombre de normal cumul‚e Nø0        |
|    4      |    LONG        |  Coordonn‚e X (*1024) Nø0            |
|    4      |    LONG        |  Coordonn‚e Y (*1024) Nø0            |
|    4      |    LONG        |  Coordonn‚e Z (*1024) Nø0            |
|    .      |      .         |                  .                   |
|    .      |      .         |                  .                   |
|    .      |      .         |                  .                   |
|    2      |    UWORD       |  Nombre de normal cumul‚e Nø Nbp     |
|    4      |    LONG        |  Coordonn‚e X (*1024) Nø Nbp         |
|    4      |    LONG        |  Coordonn‚e Y (*1024) Nø Nbp         |
|    4      |    LONG        |  Coordonn‚e Z (*1024) Nø Nbp         |
+-----------+----------------+--------------------------------------+

=============================================================================
        Chunk CAME :
                        LONG    : 4 caractŠres = "CAME"
                        LONG    : Taille des donn‚es (142 octets)

              donn‚es
+-------------------------------------------------------------------+
|                          CAMERA                                   |
+-----------+----------------+--------------------------------------+
|  Offset   |    Taille      |  Information                         |
+-----------+----------------+--------------------------------------+
|           |                |                                      |
|    0      |     SINGLE     |  Position X                          |
|    4      |     SINGLE     |  Position Y                          |
|    8      |     SINGLE     |  Position Z                          |
|   12      |     SINGLE     |  Vis‚e X                             |
|   16      |     SINGLE     |  Vis‚e Y                             |
|   20      |     SINGLE     |  Vis‚e Z                             |
|   24      |     SINGLE     |  Rotation sur Z                      |
|   28      |     UWORD      |  Focale*8                            |
|           |                |     pr‚ d‚finie :   48 -   6 mm      |
|           |                |                    144 -  18 mm      |
|           |                |                    224 -  24 mm      |
|           |                |                    280 -  35 mm      |
|           |                |                    400 -  50 mm      |
|           |                |                   1080 - 135 mm      |
|           |                |                   2240 - 280 mm      |
|           |                |                   3200 - 400 mm      |
|           |                |                                      |
|   30      |     BYTE       |  Type de projection                  |
|           |                | bit:0 Perspective       4 Omnimax    |
|           |                |     1 Orthographic      5 Panoramique|
|           |                |     2 Fisheye           6 Cylindre   |
|           |                |     3 Ultra Wilde Angle 7 Blur actif |
|           |                |                                      |
|   31      |     BYTE       |  Type de projection cylindrique      |
|           |                | =1 vertical   \                      |
|           |                | =2 horizontal / Point de vue fixe    |
|           |                | =3 vertical   \                      |
|           |                | =4 horizontal / Point de vue mouvant |
|           |                |                                      |
|   32      |     SINGLE     |  Blur sample                         |
|   36      |     SINGLE     |  Aperture                            |
|   40      |     SINGLE     |  Point de vue focale X               |
|   44      |     SINGLE     |  Point de vue focale Y               |
|   48      |     SINGLE     |  Point de vue focale Z               |
|  ----     |     -----      |                                      |
|   52      |    90 octets   |  Zone normal cam‚ra (Voir NORMAL)    |
+-----------+----------------+--------------------------------------+

Remarque : Petit calcul simple pour obtenir la valeur de l'angle
correspondant en langage GFA :
                              Angle=DEG(ATN(0.5/(FOCALE/400)))*2

=============================================================================
        Chunk LUMI :
                        LONG    : 4 caractŠres = "LUMI"
                        LONG    : Taille des donn‚es (84*Nombre de sources)

              donn‚es
+-------------------------------------------------------------------+
|                          LUMIERES                                 |
+-----------+----------------+--------------------------------------+
|  Offset   |    Taille      |  Information                         |
+-----------+----------------+--------------------------------------+
|           |                |                                      +-+
|    0      |      BYTE      |  Etat de la lampe (0:‚teinte.1:allum‚e |
|           |                |                                      +-+
|    1      |      BYTE      |  Flag:Bit:0 Projecteur  4 Att‚nuation|
|           |                |           1 Surface     5 Shadowless |
|           |                |           2 Objet li‚   6            |
|           |                |           3 Cylindre    7            |
|           |                |                                      |
|    2      |      UWORD     |  Num‚ro couleur pr‚ d‚finie          |
|    4      |      BYTE      |  Rouge                               |
|    5      |      BYTE      |  Vert                                |
|    6      |      BYTE      |  Bleu                                |
|    7      |      BYTE      |  Jitter                              |
|    8      |      SINGLE    |  Position X                          |
|   12      |      SINGLE    |  Position Y                          |
|   16      |      SINGLE    |  Position Z                          |
|   20      |      SINGLE    |  Vis‚e X                             |
|   24      |      SINGLE    |  Vis‚e Y                             |
|   28      |      SINGLE    |  Vis‚e Z                             |
|   32      |      SINGLE    |  Largeur                             |
|   36      |      SINGLE    |  Hauteur                             |
|   40      |      SINGLE    |  Angle X                             |
|   44      |      SINGLE    |  Angle Y                             |
|   48      |      UWORD     |  Radius                              |
|   50      |      UWORD     |  Falloff                             |
|   52      |      UWORD     |  Tightness                           |
|   54      |      UWORD     |  Num‚ro d'objet li‚                  |
|   56      |      BYTE      |  Adaptive                            |
|   57      |      BYTE      |  Fade_Power (1 ou 2)                 |
|   58      |      SINGLE    |  Fade_Distance                       |
|   62      |      CHAR[22]  |  Nom de la source                    |
+-----------+----------------+--------------------------------------+

=============================================================================
        Chunk BROU :
                        LONG    : 4 caractŠres = "BROU"
                        LONG    : Taille des donn‚es (94 octets)

               donn‚es
+-------------------------------------------------------------------+
|            BROUILLARD/ATMOSPHERE/ARC EN CIEL/CIEL                 |
+-----------+----------------+--------------------------------------+
|  Offset   |    Taille      |  Information                         |
+-----------+----------------+--------------------------------------+
|           |                |                                      |
|    0      |      WORD      |  Nø de donn‚e pr‚-d‚finie            |
|           |                |                                      |
|    2      |      BYTE      |  Flag: Bit :                         |
|           |                |  0 AtmosphŠre  4 Couleur AtmosphŠre  |
|           |                |  1 Brouillard  5 Jitter  Arc en Ciel |
|           |                |  2 Arc en Ciel 6 Arc     Arc en Ciel |
|           |                |  3 Ciel        7 Falloff Arc en Ciel |
|...................................................................|
| Donn‚es pour l'AtmosphŠre                                         |
|...................................................................|
|    3      |      BYTE      |  Type AtmosphŠre : Bit :             |
|           |                |  0 : Isotropic   4 : Henyey          |
|           |                |  1 : Hie Hazy    5 :                 |
|           |                |  2 : Hie Musky   6 :                 |
|           |                |  3 : Rayliegh    7 :                 |
|           |                |                                      |
|    4      |      SINGLE    |  Distance                            |
|    8      |      SINGLE    |  Treshold                            |
|   12      |      SINGLE    |  Scattering                          |
|   16      |      BYTE      |  Flags : Bit :                       |
|           |                |  0 : Treshold    4 : Eccentricity    |
|           |                |  1 : Sample      5 : Level           |
|           |                |  2 : Scattering  6 :                 |
|           |                |  3 : Jitter      7 :                 |
|   17      |      BYTE      |  Jitter                              |
|   18      |      BYTE      |  Eccentricity                        |
|   19      |      BYTE      |  Level                               |
|   20      |      WORD      |  Sample                              |
|   22      |      WORD      |  Couleur pr‚-d‚finie                 |
|   24      |      BYTE      |  Rouge                               |
|   25      |      BYTE      |  Vert                                |
|   26      |      BYTE      |  Bleu                                |
|   27      |      BYTE      |  Transparence                        |
|...................................................................|
| Donn‚es pour le Brouillard                                        |
|...................................................................|
|   28      |      BYTE      |  Flags : Bit :                       |
|           |                |  0 : Type brouillard 4 : Lambda      |
|           |                |  1 : Turbulence      5 : Omega       |
|           |                |  2 : Turb_Depth      6 : Fog Offset  |
|           |                |  3 : Octave          7 : Altitude    |
|   29      |      BYTE      |  Turb_Depth                          |
|   30      |      BYTE      |  Octave                              |
|   31      |      BYTE      |  Lambda                              |
|   32      |      BYTE      |  Omega                               |
|   33      |      BYTE      |  Fog Offset                          |
|   34      |      SINGLE    |  Altitude                            |
|   38      |      SINGLE    |  Turbulence X                        |
|   42      |      SINGLE    |  Turbulence Y                        |
|   46      |      SINGLE    |  Turbulence Z                        |
|   50      |      SINGLE    |  Distance                            |
|   54      |      WORD      |  Couleur pr‚-d‚finie                 |
|   56      |      BYTE      |  Rouge                               |
|   57      |      BYTE      |  Vert                                |
|   58      |      BYTE      |  Bleu                                |
|   59      |      BYTE      |  Transparence                        |
|...................................................................|
| Donn‚es pour l' Arc en Ciel                                       |
|...................................................................|
|   60      |      SINGLE    |  Direction X                         |
|   64      |      SINGLE    |  Direction Y                         |
|   68      |      SINGLE    |  Direction Z                         |
|   72      |      SINGLE    |  Angle                               |
|   76      |      SINGLE    |  Distance                            |
|   80      |      WORD      |  Nø de Color-Map                     |
|   82      |      SINGLE    |  Arc Angle                           |
|   86      |      SINGLE    |  Falloff Angle                       |
|   90      |      BYTE      |  Largeur                             |
|   91      |      BYTE      |  Jitter                              |
|...................................................................|
| Donn‚es pour le Ciel                                              |
|...................................................................|
|   92      |      WORD      |  Nø de Pigment-Map                   |
+-------------------------------------------------------------------+


=============================================================================
        Chunk BCKG :
                        LONG    : 4 caractŠres = "BCKG"
                        LONG    : Taille des donn‚es (8 octets)

              donn‚es
+-------------------------------------------------------------------+
|                         FOND D'IMAGE                              |
+-----------+----------------+--------------------------------------+
|  Offset   |    Taille      |  Information                         |
+-----------+----------------+--------------------------------------+
|           |                |                                      |
|    0      |      WORD      |  Fond actif ou non(0:actif.1:inactif)|
|    2      |      UWORD     |  Num‚ro de couleur pr‚-d‚finie       |
|    3      |      BYTE      |  Composante rouge (de 0 … 255)       |
|    4      |      BYTE      |  Composante verte (de 0 … 255)       |
|    5      |      BYTE      |  Composante bleu  (de 0 … 255)       |
|    6      |      BYTE      |  Composante transparence (de 0 … 255)|
+-----------+----------------+--------------------------------------+

=============================================================================
        Chunk DEFT :
                        LONG    : 4 caractŠres = "DEFT"
                        LONG    : Taille des donn‚es (90 octets)
              donn‚es
                        L'organisation de donn‚es pour la textures par
                        d‚faut est strictement identique … la partie
                        de d‚finition de texture.

=============================================================================
        Chunk DEFP :
                        LONG    : 4 caractŠres = "DEFP"
                        LONG    : Taille des donn‚es (102 octets)
              donn‚es
                        L'organisation de donn‚es pour pigment par
                        d‚faut est strictement identique … la partie
                        de d‚finition de pigment.

=============================================================================
        Chunk DEFN :
                        LONG    : 4 caractŠres = "DEFN"
                        LONG    : Taille des donn‚es (90 octets)
              donn‚es
                        L'organisation de donn‚es pour normal par
                        d‚faut est strictement identique … la partie
                        de d‚finition de normal.

=============================================================================
        Chunk DEFF :
                        LONG    : 4 caractŠres = "DEFF"
                        LONG    : Taille des donn‚es (48 octets)
              donn‚es
                        L'organisation de donn‚es pour finish par
                        d‚faut est strictement identique … la partie
                        de d‚finition de finish.

=============================================================================
        Chunk DEFH :
                        LONG    : 4 caractŠres = "DEFH"
                        LONG    : Taille des donn‚es (76 octets)
              donn‚es
                        L'organisation de donn‚es pour halo par
                        d‚faut est strictement identique … la partie
                        de d‚finition de halo.

=============================================================================
        Chunk CALQ :
                        LONG    : 4 caractŠres = "CALQ"
                        LONG    : Taille des donn‚es (140 octets)

              donn‚es
+-------------------------------------------------------------------+
|                          LES CALQUES                              |
+-----------+----------------+--------------------------------------+
|  Offset   |    Taille      |  Information                         |
+-----------+----------------+--------------------------------------+
|           |                |                                      |
|   0       |      CHAR[12]  |  Nom du calque Nø0                   +---+
|  12       |      BYTE      |  Un octet … z‚ro (marqueur fin de chaine |
|  13       |      BYTE      |  =0 calque inactif. =1 calque actif  +---+
+-----------+----------------+--------------------------------------+
Cette zone repr‚sente un calque. Il y en a 10 comme celle l…, ce qui
fait bien 140 octets.

=============================================================================
