Cette commande sert à définir la liste des éléments 3D qui composent la scène. Cette commande ne fait pas de dessin; comme on peut le voir dans le fichier d’exemple display3d.teg, les différentes scènes sont construites dans des macros, et un seul élément graphique suffit, il contient simplement l’instruction Display3D(). C’est cette commande qui calcule la scène (plus précisément qui construit un arbre d’affichage), et qui affiche la scène. Lorsque par exemple l’angle de vue change, seule la commande Display3D() doit être réévaluée mais pas la commande Build3D().
La syntaxe générale de Build3D est la suivante :
Description : cette fonction détruit la scène existante et en crée une nouvelle avec les objets cités en argument, elle renvoie Nil. Chaque objet peut à son tour être une liste d’objets 3D différents, ils sont alors séparés par la constante : sep3D. On trouvera plus loin les macros de construction pour Build3D, mais nous présentons ici les objets « atomiques », ils sont de quatre types, et codés en interne de la façon suivante :
les facettes : dans ce cas l’objet doit être de la forme :
La valeur <-1> signifie que le lissage de Gouraud doit être utilisé dans les exports qui le prennent en compte. Avec la valeur <1> il n’y a pas de lissage. La <nuance> est facultative et vaut 0 par défaut. L’<opacité> est facultative et vaut 1 par défaut, sinon ce doit être un nombre entre 0 et 1, lorsque l’opacité est multipliée par -i, cela signifie par convention, qu’on ne distingue pas le devant du derrière de la face, alors qu’avec +i les deux côtés n’ont pas exactement la même couleur. La couleur des facettes est nuancée en fonction de leur exposition, le paramètre <nuance> permet de modifier ceci, sa valeur doit supérieure ou égale à -1 :
les lignes : dans ce cas l’objet doit être de la forme :
les points : dans ce cas l’objet doit être de la forme :
les labels (texte) : dans ce cas l’objet doit être de la forme :
les labels « texifiés » :
| |