Z-Buffer
Définition
Le z-buffer est une technique classique d'affichage en 3D des polygones à l'écran. Le z-buffer a pour mission de trier les polygones selon leur distance vis à vis de l'observateur. Les points pixels de l'écran les plus proches de l'observateur et qui appartiennent aux polygones sont conservés, ce qui permet d'éliminer les parties et faces cachées des objets en 3D. Les fonctionnalités de z-buffer sont généralement fournies avec les environnements graphiques utilisés par les navigateurs sur le web ou les cartes graphiques spécialisées. Les différentes implémentations de z-buffer observent toutes les mêmes principes pour les polygones opaques mais en diffèrent pour les polygones transparents qui leur posent des problèmes de mémoire. Pour pouvoir combiner les couleurs en transparence, le z-buffer doit en effet mémorisé en profondeur tous les points derrière chaque pixel. Il s'en suit une gestion lourde de la mémoire et de la fluidité des images. Dans le cas de l'environnement graphique de 3Dgeom en mode construction : Director + Shockwave 3D, la transparence, pour ces raisons n'est pas gérée par le z-buffer lorsque les faces s'autopénètrent ou se chevauchent. La superposition des polygones peut être donc altérée en transparence. Pour corriger le traitement de la profondeur, il faut donc visualiser avec les polygones en mode opaque, ou utiliser le mode visualisation LLgeometry de 3Dgeom, seul système graphique du marché à gérer des solides géométriques sans polygone avec prise en compte ou non de la transparence.
Exemples de non-gestion de la transparence par le z-buffer Shockwave 3D
Les deux images ci-dessous présentent des anomalies de rendu visuel propres au défaut de z-buffer pour les transparences dans le moteur polygonal Shockwave 3D. Les abhérations de perception spatiale peuvent être immédiatement corrigées en passant en mode opaque ou en utilisant le mode de visualisation. Dans le cas ou les polygones ne s'interpénètrent pas (polyèdres convexes) l'utilisation de la transparence en mode construction donne des résultats cohérents (cf image de graphe complet et enveloppe convexe combinés dans Assistant de fonctions ci-dessus).
Exemple en mode construction et visualisation en rendu opâque
Les deux images ci-dessous corrigent immédiatement les problèmes rencontrés précedemment. La perception sera améliorée en abusant le moins possible des variations de couleur et en réglant la taille des barres et des sphères représentant les droites et les points.
Gestion de la transparence
La transparence des polygones et des surfaces est gérée en mode visualisation par le moteur graphique et volumique. LLgeometry interne à 3Dgeom. Celui-ci communique avec Shockwave de manière continue afin d'assurer la cohérence entre les paramètres d'affichage et les éléments géométriques à afficher. Cette gestion hybride du graphique à partir d'un moteur propriétaire volumique et d'un moteur grand public polygonal est une des forces du logiciel 3Dgeom. La figure ci-dessous à gauche présente un rendu pris en compte par Shockwave sans gestion de la transparence au niveau du z-buffer et l'image correcte en mode visualisation et transparence affiché par le moteur LLgeometry.
