Rastérisation et pipeline graphique
La rastérisation convertit les primitives géométriques, telles que les triangles, en pixels qu'elles recouvrent à l'écran, et constitue l'étape centrale du pipeline graphique qui transforme les scènes 3D en images 2D.
Definition
La rastérisation est le processus qui consiste à déterminer quels pixels une primitive géométrique projetée recouvre et à interpoler les quantités par sommet, telles que la profondeur, la couleur et les coordonnées de texture, sur ces pixels.
Scope
Ce sujet couvre les étapes du pipeline de rendu standard – transformation des sommets, écrêtage, projection, assemblage des primitives, conversion de balayage, et traitement des fragments – ainsi que la mise en tampon de profondeur pour la visibilité, l'interpolation correcte en perspective des attributs de sommet, et l'anticrénelage des échantillons résultants.
Core questions
- Comment les coordonnées 3D sont-elles transformées en positions d'écran 2D ?
- Quels pixels un triangle projeté recouvre-t-il ?
- Comment la visibilité est-elle résolue lorsque les primitives se chevauchent ?
- Comment les artefacts d'aliasing le long des bords sont-ils réduits ?
Key concepts
- Étapes de sommet et de fragment
- Écrêtage et projection
- Conversion de balayage
- Test de profondeur du Z-buffer
- Interpolation correcte en perspective
- Anticrénelage
Key theories
- Le pipeline de transformation et de rastérisation
- La géométrie passe par une séquence fixe de transformations de coordonnées de l'espace objet à l'espace écran, après quoi les primitives sont converties par balayage en fragments, offrant une structure qui se mappe efficacement sur le matériel parallèle.
- Mise en tampon de profondeur pour la visibilité
- Le z-buffer stocke la profondeur la plus proche vue jusqu'à présent à chaque pixel et rejette les fragments qui se trouvent derrière, résolvant ainsi l'élimination des surfaces cachées de manière incrémentale sans trier la géométrie.
Clinical relevance
Le pipeline de rastérisation constitue le fondement de la quasi-totalité des graphiques en temps réel, alimentant les jeux vidéo, la composition d'interfaces utilisateur, les visualiseurs de CAO et la 3D interactive présente dans les navigateurs et les appareils mobiles.
History
Le z-buffer et les méthodes de conversion de balayage du début des années 1970 ont été codifiés dans le pipeline à fonction fixe du matériel graphique précoce, puis généralisés dans les pipelines de shaders programmables des GPU modernes.
Key figures
- Edwin Catmull
- Bui Tuong Phong
Related topics
Seminal works
- catmull1974
- hughes2013
Frequently asked questions
- Pourquoi la rastérisation est-elle si rapide ?
- Chaque triangle est traité indépendamment et chaque pixel est rempli par une arithmétique incrémentale simple, ce qui se mappe directement sur l'architecture massivement parallèle du matériel graphique.
- À quoi sert le z-buffer ?
- Il enregistre la distance à laquelle se trouve la surface la plus proche dessinée jusqu'à présent à chaque pixel, de sorte que les surfaces plus proches écrasent les plus éloignées et que les parties cachées de la scène sont automatiquement supprimées.