MOTEUR DE RENDU 3D

Concevoir un Moteur de Rendu 3D, implique certains choix.

FORMATS DE DONNEES

Les structures de données normalisées permettent de ne pas réinventer la roue et de profiter de leur notoriété.
Dans un premier temps on se contentera d'une simple description geométrique d'un seul objet.

Description géométrique :
Il existe plusieurs formats de données 3D : .dxf , .3ds , .obj , .lwo ...
Leurs grammaires sont toujours différentes mais ils contiennent tous la même chose : Vertex, Arêtes, Facettes, Textures
Pour des raisons de simplicité j'ai opté pour le format 3D Studio (ascii). Mon parser 3DS (.asc) prend en compte les coordonnées des vertex, les facettes et également une modeste gestion des materiaux (couleur des faces).
Les fichiers ascii ont l'avantage d'etre facile à traiter, pour rendre l'utilisation possible on les compressera par des algo standards de compression sans pertes (haufman, lzw ...).
Graphe de scène :
Ensuite on pourra faire une gestion de scene par un arbre de type VRML.
VRML est un Langage de description de scènes 3D sous forme de structure arborescente (graphe acyclique direct)
Propagation des propriétés (i.e. : Une translation d’un groupe Table entraîne la propagation des 4 pieds)


Textures :
Les images sont généralement compréssées selon différentes méthodes plus ou moins efficaces (TCD, ondelettes, Lurawave de Luratech , ...).
Elle peuvent contenir un channel Alpha (transparence) .
On utilise aussi des textures 3D.

VISUALISATION

2 solutions sont possibles :
Pour des raisons de politiques industrielles, utiliser des solutions commerciales ou gratuites ne sont pas envisageables.
Si l'on désire faire un rendu 3D sans utiliser des bibliothèques on doit réimplenter tout le systeme de perspective.

Pour une visualisation rapide on utilisera les algorithmes les plus rapides

Ce qui fait l'objet du chapitre suivant