Tampon de profondeur

Tampon de profondeur

Z-buffer

Contenu d'un Z-Buffer

En infographie, le Z-buffer ou tampon de profondeur est une méthode employée dans le cadre de l'affichage d'une scène 3D. Le Z-Buffer permet de gérer le problème de la visibilité qui consiste à déterminer quels éléments de la scène doivent être rendus, lesquels sont cachés par d'autres et dans quel ordre l'affichage des primitives doit se faire.

Il est principalement utilisé par l'accélération matérielle de la 3D, mais l'est aussi dans beaucoup de moteurs 3D logiciels. L'algorithme du peintre est une autre solution pour résoudre en partie le problème de visibilité.

Lorsqu'un objet est dessiné par une carte accélératrice 3D, la profondeur d'un pixel (coordonnée Z) est stockée dans un tampon (en anglais 'buffer', d'où Z-buffer). Ce tampon est en général un tableau à deux dimensions (X et Y), chaque élément étant un pixel à l'écran. Si un autre élément de la scène doit être affiché aux mêmes coordonnées (X,Y), la carte compare les deux profondeurs (Z), et n'affiche que le pixel le plus proche de la caméra. La valeur Z de ce pixel est ensuite placée dans le tampon de profondeur, remplaçant donc l'ancienne. Au final, l'image dessinée reproduit la perception de la profondeur habituelle et logique, l'objet le plus proche cachant les plus lointains.

La granularité du tampon de profondeur joue un rôle important sur la qualité de la scène. Un tampon avec des valeurs codées sur 16 bits peut engendrer des artefacts graphiques (appelés Z-buffer fighting, combat de Z-buffer) quand deux objets sont très proches l'un de l'autre (seules 65536 profondeurs distinctes sont possibles). Un Z-buffer de 32 bits agit plus correctement. Les Z-buffers de 8 bits ne sont quasiment jamais utilisés en raison de leur trop faible précision.

Habituellement, la précision du Z-buffer n'est pas linéaire suivant le point, proche ou lointain. Les valeurs proches sont plus précises (de façon à afficher les objets proches plus finement) que les valeurs lointaines (moins importantes visuellement). En général c'est le comportement voulu, mais cela peut amener des artefacts visuels au fond de la scène. Une variation de la technique du Z-buffer règle ce probleme, elle s'appelle le W-buffer.

Au début de l'affichage d'une nouvelle scène, le Z-buffer doit être initialisé avec une valeur prédéfinie qui représente la profondeur maximale, en général zéro.

Sur les cartes graphiques des années 1999-2005, la gestion du Z-buffer utilise une quantité non négligeable de la bande passante mémoire. Plusieurs méthodes ont été employées pour réduire cet impact, comme la compression sans perte (la compression et la décompression par le processeur sont moins coûteuses que la bande passante graphique) ou l'effacement ultrarapide par le matériel lui-même, qui rendent donc obsolète la technique du "une fois positif, une fois négatif" (qui permettait d'éviter l'effacement en gérant des nombres signés).

Mathématiques

La plage des valeurs de profondeur dans le volume de la camera ('camera space') à dessiner est souvent définie entre near (valeur minimale), et far (valeur au loin). Après la transformation de projection, la nouvelle valeur de z, ou z', est définie par:

z'=
\frac{\mathit{far}+\mathit{near}}{\mathit{far}-\mathit{near}} +
\frac{1}{z} \left(\frac{-2 \cdot \mathit{far} \cdot \mathit{near}}{\mathit{far}-\mathit{near}}\right)

z' est l'ancienne valeur de z, et est parfois appelé w ou w'.

Les valeurs résultantes de z' sont normalisées entre -1 et 1, où le plan near est -1, et le plan far a 1. Les valeurs en dehors de cette plage ne sont pas dans le volume vision, et ne doivent pas être dessinées.

Pour implémenter un z-buffer, les valeurs de z' sont interpolées linéairement sur la surface de l'écran entre les valeurs z des points du polygone courant.

Autres utilisations

Le Z-Buffer peut être utilisé pour d'autres effets graphiques comme par exemple des effets de flou dont l'intensité varie en fonction de la profondeur (pour simuler la profondeur de champ). La connaissance de la profondeur de chaque pixel permet aussi d'implémenter un effet de brouillard avec une densité maximale lorsque le pixel est éloigné.

Voir aussi

Ce document provient de « Z-buffer ».

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Tampon de profondeur de Wikipédia en français (auteurs)

Игры ⚽ Нужна курсовая?

Regardez d'autres dictionnaires:

  • Zone tampon — Sommaire 1 En urbanisme 2 En écologie du paysage et dans le domaine de la protection de la nature 2.1 Ripisylves et bandes enherbées en zones tampon de protection de l eau et des sols …   Wikipédia en Français

  • Z-buffer — Contenu d un Z Buffer En infographie, le Z buffer ou tampon de profondeur est une méthode employée dans le cadre de l affichage d une scène 3D. Le Z Buffer permet de gérer le problème de la visibilité qui consiste à déterminer quels éléments de… …   Wikipédia en Français

  • Buffer — Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom. Sur les autres projets Wikimedia : « Buffer », sur le Wiktionnaire (dictionnaire universel) Buffer est un mot anglais se traduisant… …   Wikipédia en Français

  • OpenGL utility toolkit — GLUT (OpenGL Utility Toolkit) est une bibliothèque utilitaire dont les droits d auteur sont détenus par Mark J. Kilgard, offrant un jeu de routines pour la gestion des fenêtres OpenGL et les interactions avec le système d exploitation (gestion… …   Wikipédia en Français

  • Opengl utility toolkit — GLUT (OpenGL Utility Toolkit) est une bibliothèque utilitaire dont les droits d auteur sont détenus par Mark J. Kilgard, offrant un jeu de routines pour la gestion des fenêtres OpenGL et les interactions avec le système d exploitation (gestion… …   Wikipédia en Français

  • PICA200 — ██████████99 % Traduction …   Wikipédia en Français

  • 3D en informatique — Infographie 3D La synthèse d image 3D souvent abrégée 3D (3D pour Trois Dimensions : x,y,z, les trois axes qui constituent le repère orthonormé de la géométrie dans l espace) est un ensemble de techniques notamment issues de la CAO qui… …   Wikipédia en Français

  • 3D sur ordinateur — Infographie 3D La synthèse d image 3D souvent abrégée 3D (3D pour Trois Dimensions : x,y,z, les trois axes qui constituent le repère orthonormé de la géométrie dans l espace) est un ensemble de techniques notamment issues de la CAO qui… …   Wikipédia en Français

  • Algorithme du peintre — L´algorithme du peintre est l une des solutions les plus simples pour résoudre le problème de visibilité d un rendu en 3D sur ordinateur. En effet, une fois une scène 3D projetée sur un plan 2D, il est nécessaire de déterminer quels sont les… …   Wikipédia en Français

  • Infographie 3D — Image réaliste réalisée avec Maya et Mental Ray La synthèse d image 3D souvent abrégée 3D (3D pour Trois Dimensions : x,y,z, les trois axes qui constituent le repère orthonormé de la géométrie dans l espace) est un ensemble de techniques… …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”