
Genesis 3d est un moteur 3d , c´est
à dire un ensemble de fonctions de haut niveau qui
permettent de programmer facilement une application en 3d.
Genesis 3d se présente, dans
sa forme originelle sous la forme d´un SDK (kit de développement
logiciel (Software Développement Kit) , c´est
à dire d´un ensemble de fichiers include,
de dlls et de bibliothèques statiques.
Le Sdk comprend en outre, pour la partie
conception de l´application un éditeur de niveaux
,un studio de création d´acteurs à partir
de modèles 3d issus d´un produit de modelage 3d
du commerce, un prévisualisateur de niveau et un visualisateur
d´acteur.
Un peu de vocabulaire:
Mon but ici n´est pas de réécrire
la doc de genesis 3d en français, aussi je ne ferai
que de résumer les plus importantes des différentes
parties qui composent Genesis3d en formant des ensembles de
fonctions destinées à traiter des aspects différents
de l´application 3d.
Niveau:
il s´agit de l´environnement
où aura lieu l´action en 3d.
En gros, il s´agit d´une boîte
qui contiendra un sol, et bien d´autres éléments
que vous y aurez placé afin de construire votre monde.
Dans genesis , un ensemble de fonctions est destiné
à charger, gérer, supprimer un monde (niveau).
Le niveau se construit à l'aide
de l'éditeur de niveau (Genedit dont la version actuelle
est la version genedit classic build 0.58)). Une fois le monde
construit (fichier source extension 0.3dt) il sera compilé
pour donner un arbre BSP utilisable par le moteur 3d (extension
.BSP).
Acteur:
Il s´agit d´un objet 3d qui
peut être mobile (un personnage, une voiture, un méchant)
ou statique (un arbre, une table...) . Cet objet à
d´abord été modélisé avec
un outils de modélisation 3d comme par exemple 3d studio
max ou TrueSpace ou MilkShape , puis aura été
convertit en acteur genesis3d , c´est à dire un
ficher d´extension .ACT qui contient les données
nécessaires au rendu 3d de l´objet et à
la gestion des mouvements et autres animations de l´objet.
Les principaux éléments de l´API genesis3d
Engine -
le moteur
Série de fonctions commençant
toutes par geEngine_ et dont le but est la création,
l´utilsation et la suppression d´un objet moteur
de genesis3d. Un objet moteur est en fait une structure de
données qui référencera un ensembles
de données nécessaires au fonctionnement de
genesis (driver utilisé, résolution écran,monde,
bitmap...). Le rôle principale de l´objet moteur
est de fournir un interface rapide et efficace pour le périphérique
de sortie via l´objet geDriver_System.
World -
Le monde
Série de fonctions commençant
toutes par geWorld_ et qui permettront la création,
la manipulation et la suppression d´un monde genesis3d.
Un monde est rattaché à un moteur.Le monde est
le conteneur qui gérera les données BSP, les
acteurs, les entités (portes, lumières, camera...)
, les lumières dynamiques, les bitmaps ,les fontes...
Le monde fournit aussi les API chargés de gérer
la détection des collisions.
Camera
Ensemble de fonctions commençant
par geCamera_ et qui permettront de gérer la les opérations
de transformation et de projection destinées à
assurer le rendu à partir d´un point de vue donné.
On peut créer plusieurs camera.
XForm3d
Ensemble de fonctions de transformation
commençant par geXForm3d_.
Un objet XForm est utilisé pour
spécifier les orientations/positions pour les objects
dont le rendu est a effectuer.Il s'agit d'une matrice qui
détermine l'orientation de l'objet dans l'espace de
monde. Elle est constitué de 2 partie, une matrice
qui correspond à l'opération de transformation
à calculer (rotation, translation) et une partie qui
correspond au vecteur (x,y,z) donnant la position de l'objet
dans le monde.
Cet API prend en charge la transformation
entre les coordonnées du monde vers celles de l´écran
pour le rendu.
VFile
Ensemble de fonctions commençant
par geFile_ et qui étendent et encapsule les opérations
normales de gestion des fichiers de l´OS. Elles permettront
de gérer des opérations d´entrées
sorties d´une façon identique, qu´il s´agisse
de fichier en mémoire ou sur disque.
Path
Ensemble de fonctions destinées
à gérer des séquences de transformations
permettant des animations
Motion
Fonctions gérant les animations
comme par exemples celles associées aux acteurs.
|