Rastérisation — ce que c'est, les étapes et le principe de fonctionnement

Auteur : IT Sectr Publié le : 2026-06-11 Temps de lecture : 10 min

La rastérisation est le processus de conversion d'une description vectorielle de primitives tridimensionnelles (triangles, lignes, points) en un ensemble de pixels (fragments) pour affichage sur un écran. Selon Khronos Group, 2025, la rastérisation est une étape automatique (non programmable) du pipeline graphique, située entre le Vertex Shader et le Fragment Shader. Rasterization détermine quels pixels de l'écran appartiennent à quel triangle et calcule les attributs interpolés pour chaque fragment.

Points clés

  • Rastérisation — conversion de primitives vectorielles en une image matricielle (pixels).
  • Scanline conversion — l'algorithme de base qui détermine la couverture des pixels par un triangle.
  • Interpolation d'attributs — calcul de la couleur, des coordonnées de texture et des normales pour chaque fragment.
  • MSAA — multisampling, lisse les bords dentelés (aliasing) lors de la rastérisation.
  • Performance de la rastérisation dépend du nombre de triangles et de la résolution de l'écran.

Qu'est-ce que la rastérisation ?

Rasterization est une étape du pipeline graphique qui convertit les primitives géométriques (triangles, lignes) en un ensemble de fragments pour un traitement ultérieur par le Fragment Shader. Les données d'entrée sont les sommets du triangle en coordonnées d'écran et leurs attributs (couleur, normales, UV). La sortie est un ensemble de fragments avec des attributs interpolés.

Contrairement aux shaders programmables (Vertex Shader et Fragment Shader), la rastérisation est une étape fixe (non programmable). Le développeur ne peut pas modifier l'algorithme de rastérisation, mais peut contrôler ses paramètres : mode de découpage (culling), largeur de ligne, décalage de profondeur (polygon offset) et multisampling.

Le rôle de la rastérisation dans les graphiques temps réel

Presque tous les graphiques modernes en temps réel — jeux, UI, AR/VR — utilisent la rastérisation. C'est la méthode de rendu la plus performante, capable de traiter des millions de triangles par image à 60 FPS. Les rastériseurs GPU sont optimisés pour le traitement parallèle de milliers de triangles simultanément via des blocs ROP (Render Output Units) spécialisés.

Comment fonctionne la rastérisation ?

La rastérisation de triangles commence après que le Vertex Shader a transformé les sommets en coordonnées d'écran. Le GPU prend les trois sommets d'un triangle et détermine quels pixels de l'écran se trouvent à l'intérieur de ce triangle.

Étapes de la rastérisation de triangles

Le processus comprend trois étapes séquentielles : détermination de la boîte englobante (bounding box) du triangle en pixels — vérification de chaque pixel à l'intérieur de la boîte englobante pour l'appartenance au triangle (edge function) — calcul des attributs interpolés (coordonnées barycentriques) pour chaque pixel couvert. La Edge function est une équation linéaire qui détermine de quel côté de l'arête du triangle se trouve un point.

ÉtapeDescriptionRésultat
ClippingDécoupage des triangles hors des limites du viewportPrimitives visibles
Viewport transformTransformation en coordonnées d'écranCoordonnées pixels
Triangle setupCalcul des edge functions et de la boîte englobanteParamètres de rastérisation
Fragment generationTest de couverture et interpolationFragments + attributs

Algorithmes de rastérisation

Rasterization peut être implémentée par différents algorithmes, chacun ayant ses propres compromis entre performance et qualité. Les GPU modernes utilisent une combinaison de plusieurs approches.

Algorithme Scanline

L'algorithme classique de rastérisation développé pour les premières GPU. Le triangle est traité ligne par ligne (scanline) : pour chaque ligne de l'écran, les points d'entrée et de sortie du triangle sont déterminés, et tous les pixels entre eux sont remplis. Scanline conversion est efficace pour les grands triangles mais nécessite une logique complexe pour les triangles de forme arbitraire.

Méthode Half-Space (Edge Function)

Les GPU modernes utilisent la méthode de rastérisation half-space : pour chaque côté du triangle, une edge function est calculée — une équation linéaire positive d'un côté et négative de l'autre. Un pixel appartient au triangle si les trois edge functions sont positives. Half-space rasterization est facilement parallélisable et bien adapté aux architectures GPU SIMD.

Rastérisation par tuiles (TBR)

Les GPU mobiles (Qualcomm Adreno, ARM Mali) utilisent le Tile-Based Rendering (TBR). L'écran est divisé en petites tuiles (16x16 ou 32x32 pixels), et la rastérisation est effectuée pour chaque tuile séparément. Cela minimise les accès mémoire en stockant le framebuffer dans une mémoire locale rapide (mémoire de tuile). Le TBR réduit la consommation d'énergie, ce qui est critique pour les appareils mobiles.

Rastérisation vs Ray Tracing

Rasterization et le ray tracing sont deux approches fondamentalement différentes du rendu graphique 3D. La rastérisation domine dans les applications temps réel, tandis que le ray tracing est utilisé dans le rendu hors ligne et pénètre progressivement le temps réel (sur les GPU compatibles RTX).

ParamètreRastérisationRay Tracing
PrincipeTriangle → fragmentsRayon → intersection avec la scène
VitesseTrès rapide (millions de triangles/image)Lent (milliers de rayons/image)
QualitéNécessite des techniques supplémentaires (ombres, réflexions)Ombres et réflexions physiquement correctes
GPU mobilesMéthode standardSupport limité (A17 Pro, Snapdragon Gen 3)
Consommation énergétiqueFaibleÉlevée

MSAA et anti-aliasing dans la rastérisation

La rastérisation introduit le problème de l'aliasing — des bords dentelés (jaggies) aux limites des triangles. Cela se produit car un pixel est discret et ne peut pas être partiellement couvert par un triangle. Pour lutter contre l'aliasing, on utilise le multisampling (MSAA).

Comment fonctionne MSAA

MSAA (Multisample Anti-Aliasing) effectue la rastérisation avec un taux d'échantillonnage accru (2x, 4x, 8x). Au lieu d'un échantillon par pixel, plusieurs sous-échantillons sont utilisés, chacun testé pour la couverture du triangle. MSAA 4x traite 4 sous-échantillons par pixel, offrant un lissage notable des bords sans augmenter complètement la résolution de rendu.

FXAA et autres méthodes de post-traitement

Contrairement à MSAA, les méthodes d'anti-aliasing par post-traitement (FXAA, SMAA, TAA) fonctionnent après la rastérisation en analysant l'image finale. FXAA (Fast Approximate Anti-Aliasing) détecte les bords de l'image et applique un flou pour lisser, fonctionnant significativement plus vite que MSAA mais avec une qualité moindre.

Rastérisation sur GPU et optimisation

Rasterization sur les GPU modernes est effectuée par des blocs matériels spécialisés — ROP (Render Output Units). Le nombre de ROP affecte directement le taux de remplissage (fill rate) — le nombre de pixels que le GPU peut traiter par seconde.

Facteurs de performance de la rastérisation

  • Triangle count — nombre de triangles par image. Chaque triangle nécessite un overhead pour le setup et le test de bord.
  • Fill rate — nombre de pixels traités par les blocs ROP par seconde. Dépend de la fréquence d'horloge du GPU et du nombre de ROP.
  • Overdraw — rastérisation répétée d'un même pixel due au chevauchement de triangles. Optimisé en triant les objets par profondeur.

Optimisation de la rastérisation pour GPU mobiles

Pour les GPU mobiles (Tile-Based Rendering), les facteurs critiques incluent : minimiser l'overdraw via l'early-Z rejection, utiliser le back-face culling pour supprimer les triangles invisibles et l'occlusion culling pour rejeter les triangles complètement recouverts par d'autres objets.

Questions fréquentes

Qu'est-ce que la rastérisation en termes simples ?

La rastérisation est le processus de transformation des triangles en pixels sur l'écran. Le GPU prend un triangle tridimensionnel, détermine quels pixels de l'écran il couvre et les transmet au Fragment Shader pour les colorer.

En quoi la rastérisation diffère-t-elle du ray tracing ?

La rastérisation projette les triangles sur l'écran et détermine la couverture des pixels (très rapide). Ray tracing lance des rayons depuis la caméra et vérifie l'intersection avec la géométrie (physiquement plus précis mais significativement plus lent).

Pourquoi l'anti-aliasing est-il nécessaire dans la rastérisation ?

Lors de la rastérisation, un pixel appartient entièrement à un triangle ou non — d'où les bords dentelés (aliasing). MSAA lisse les bords en utilisant plusieurs sous-échantillons par pixel, tandis que FXAA applique un filtre à l'image finale.

Peut-on programmer l'étape de rastérisation ?

Non, la rastérisation est une étape fixe du pipeline graphique. Le développeur ne peut pas modifier l'algorithme, mais peut contrôler les paramètres : culling, polygon offset, mode de rastérisation (points, lignes, triangles) et paramètres MSAA.

Pourquoi les GPU mobiles utilisent-ils le Tile-Based Rendering ?

Tile-Based Rendering (TBR) divise l'écran en tuiles et les traite dans une mémoire locale rapide plutôt que dans la VRAM globale. Cela réduit radicalement la consommation d'énergie et la bande passante, ce qui est crucial pour les appareils mobiles alimentés par batterie.

Résumé

  • Rastérisation — conversion de triangles vectoriels en fragments matriciels pour affichage à l'écran.
  • Méthode Half-space — l'algorithme principal de rastérisation dans les GPU modernes.
  • Tile-Based Rendering — architecture de rastérisation utilisée dans les GPU mobiles (Adreno, Mali).
  • Aliasing — le problème des bords dentelés, résolu par MSAA, FXAA ou TAA.
  • Fill rate — paramètre clé de performance de la rastérisation dépendant du nombre de blocs ROP.
  • Overdraw — rastérisation répétée de pixels, optimisée via early-Z et occlusion culling.
  • Ray Tracing — méthode alternative offrant un rendu physiquement correct au détriment des performances.

Nous développerons une application mobile clé en main

IT Sectr crée des applications iOS et Android pour les startups et les entreprises depuis 2017. Nous vous conseillerons et vous proposerons la meilleure solution.

Discuter du projet

Lisez aussi