L'ordre Z est un système d'ordonnancement d'objets bidimensionnels qui se chevauchent, tels que les fenêtres d'un gestionnaire de fenêtres empilées , les formes d'un éditeur de graphisme vectoriel ou les objets d'une application 3D. Une des caractéristiques d'une interface graphique classique est la possibilité de superposer des fenêtres, l'une masquant partiellement ou totalement l'autre. Lorsque deux fenêtres se chevauchent, leur ordre Z détermine laquelle apparaît au-dessus de l'autre.
Définition
Le terme « ordre Z » désigne l'ordre des objets le long de l'axe Z. En géométrie analytique , X désigne généralement l'axe horizontal (de gauche à droite), Y l'axe vertical (de haut en bas) et Z l'axe perpendiculaire aux deux autres (avant ou arrière). On peut se représenter les fenêtres d'une interface graphique comme une série de plans parallèles à la surface de l'écran. Les fenêtres sont donc empilées le long de l'axe Z, et l'information relative à l'ordre Z spécifie ainsi leur disposition de l'avant vers l'arrière à l'écran. On peut l'assimiler à des feuilles de papier éparpillées sur une table : chaque feuille représente une fenêtre, la table l'écran de l'ordinateur, et la feuille du dessus ayant la valeur Z la plus élevée.
Utiliser
En général, les utilisateurs d'une interface graphique peuvent modifier l'ordre d'affichage (ordre Z) en sélectionnant une fenêtre à placer au premier plan (c'est-à-dire « au-dessus » ou « devant » toutes les autres fenêtres). Certains gestionnaires de fenêtres permettent d'interagir avec les fenêtres même lorsqu'elles ne sont pas au premier plan, tandis que d'autres les placent automatiquement au premier plan dès qu'une interaction est reçue. Il est également possible de désigner certaines fenêtres comme « toujours au premier plan » ; celles-ci sont alors fixées en haut de l'ordre Z et, à quelques exceptions près, aucune autre fenêtre ne peut les recouvrir.
Lorsqu'on manipule des objets visuels sur un écran d'ordinateur, un objet dont l'ordre Z est égal à 1 se trouve visuellement « sous » un objet dont l'ordre Z est égal ou supérieur à 2. Cela revient à créer des « calques » d'objets, l'ordre Z déterminant quel objet se trouve au-dessus d'un autre. Une page HTML peut utiliser CSS pour spécifier l'ordre Z et ainsi superposer des objets.
L'ordonnancement selon l'axe Z est également utilisé dans les applications 3D pour déterminer la visibilité des objets en fonction de leur chevauchement avec d'autres objets. Cela offre un gain de temps à l'utilisateur, car l'ordinateur n'a pas besoin de rendre les objets invisibles. En pratique, certains objets peuvent n'être que partiellement masqués, et il s'agit d'une difficulté dont il faut tenir compte.
Dans les premiers graphismes 3D temps réel, l'ordre Z était appliqué polygone par polygone afin d'éviter l'utilisation du tampon Z, alors considéré comme gourmand en ressources. En 3D moderne, l'ordre Z est utilisé pour le rendu dépendant de l'ordre, par exemple pour les objets semi-transparents. Il permet également de réduire le problème de la superposition de pixels ( Z-fighting) , soit en rendant d'abord les objets les plus éloignés puis en utilisant une inégalité faible comme test de profondeur, soit, inversement, en rendant de l'avant vers l'arrière et en utilisant une inégalité stricte.