Rasterisatie — wat is het, fases en werkingsprincipe

Auteur: IT Sectr Gepubliceerd: 2026-06-11 Leestijd: 10 min

Rasterisatie — is het proces van het omzetten van een vectorbeschrijving van driedimensionale primitieven (driehoeken, lijnen, punten) naar een set pixels (fragmenten) voor weergave op het scherm. Volgens Khronos Group, 2025 is rasterisatie een automatische (niet-programmeerbare) fase van de grafische pijplijn, gelegen tussen Vertex Shader en Fragment Shader. Rasterisatie bepaalt welke pixels van het scherm bij welke driehoek horen en berekent geïnterpoleerde attributen voor elk fragment.

Belangrijkste

  • Rasterisatie — omzetting van vectorprimitieven naar een rasterafbeelding (pixels).
  • Scanline conversion — het basisalgoritme dat de pixelbedekking door een driehoek bepaalt.
  • Interpolatie van attributen — berekening van kleur, textuurcoördinaten en normalen voor elk fragment.
  • MSAA — multisampling dat getrapte randen (aliasing) bij rasterisatie gladstrijkt.
  • Prestaties van rasterisatie zijn afhankelijk van het aantal driehoeken en de schermresolutie.

Wat is rasterisatie?

Rasterisatie — is de fase van de grafische pijplijn die geometrische primitieven (driehoeken, lijnen) omzet in een set fragmenten voor verdere verwerking door de Fragment Shader. Invoergegevens — hoekpunten van de driehoek in schermcoördinaten en hun attributen (kleur, normalen, UV). Uitvoer — set fragmenten met geïnterpoleerde attributen.

In tegenstelling tot programmeerbare shaders (Vertex en Fragment Shader) is rasterisatie een vaste (niet-programmeerbare) fase. De ontwikkelaar kan het rasterisatie-algoritme niet wijzigen, maar kan de parameters ervan beheren: clipping-modus (culling), lijnbreedte, diepteverschuiving (polygon offset) en multisampling.

Rol van rasterisatie in real-time graphics

Vrijwel alle moderne real-time graphics — games, UI, AR/VR — gebruiken rasterisatie. Het is de meest performante renderingsmethode, die miljoenen driehoeken per frame kan verwerken bij 60 FPS. GPU-rasterizers zijn geoptimaliseerd voor parallelle verwerking van duizenden driehoeken tegelijk via gespecialiseerde ROP-blokken (Render Output Units).

Hoe werkt rasterisatie?

Rasterisatie van een driehoek begint nadat de Vertex Shader de hoekpunten heeft omgezet naar schermcoördinaten. De GPU neemt de drie hoekpunten van de driehoek en bepaalt welke pixels van het scherm zich binnen deze driehoek bevinden.

Fases van driehoek-rasterisatie

Het proces omvat drie opeenvolgende stappen: bepaling van de bounding box van de driehoek in pixels — controle van elke pixel binnen de bounding box op behoren tot de driehoek (edge function) — berekening van geïnterpoleerde attributen (barycentrische coördinaten) voor elke bedekte pixel. Edge function — een lineaire vergelijking die bepaalt aan welke kant van de rand van de driehoek een punt zich bevindt.

FaseBeschrijvingResultaat
ClippingAfknippen van driehoeken buiten de viewport-grenzenZichtbare primitieven
Viewport transformOmzetting naar schermcoördinatenPixelcoördinaten
Triangle setupBerekening van edge-functies en bounding boxRasterisatieparameters
Fragment generationControle van bedekking en interpolatieFragmenten + attributen

Rasterisatie algoritmen

Rasterisatie kan worden geïmplementeerd met verschillende algoritmen, elk met zijn eigen afwegingen tussen prestaties en kwaliteit. Moderne GPU's gebruiken een combinatie van meerdere benaderingen.

Scanline-algoritme

Het klassieke rasterisatie-algoritme, ontwikkeld voor vroege GPU's. De driehoek wordt regel voor regel (scanline) verwerkt: voor elke schermregel worden de in- en uitgangspunten van de driehoek bepaald en alle pixels ertussen worden opgevuld. Scanline conversion is efficiënt voor grote driehoeken, maar vereist complexe logica voor driehoeken van willekeurige vorm.

Half-space (edge function) methode

Moderne GPU's gebruiken de half-space rasterisatiemethode: voor elke zijde van de driehoek wordt een edge function berekend — een lineaire vergelijking, positief aan de ene kant en negatief aan de andere. Een pixel behoort tot de driehoek als alle drie edge functions positief zijn. Half-space rasterisatie is eenvoudig te paralleliseren en past goed bij SIMD-architecturen van GPU's.

Tile-Based rasterisatie (TBR)

Mobiele GPU's (Qualcomm Adreno, ARM Mali) gebruiken Tile-Based Rendering (TBR). Het scherm wordt verdeeld in kleine tiles (16×16 of 32×32 pixels) en rasterisatie wordt voor elke tile afzonderlijk uitgevoerd. Dit minimaliseert het aantal toegangen tot videogeheugen door de framebuffer op te slaan in snel lokaal geheugen (tile memory). TBR vermindert het energieverbruik, wat kritisch is voor mobiele apparaten.

Rasterisatie vs Ray Tracing

Rasterisatie en ray tracing — twee fundamenteel verschillende benaderingen voor 3D-rendering. Rasterisatie domineert in real-time toepassingen, ray tracing — in offline rendering en dringt geleidelijk door in real-time (op RTX-compatibele GPU's).

ParameterRasterisatieRay Tracing
PrincipeDriehoek → fragmentenStraal → snijpunt met scène
SnelheidZeer snel (miljoenen driehoeken/frame)Langzaam (duizenden stralen/frame)
KwaliteitVereist extra technieken (schaduwen, reflecties)Fysiek correcte schaduwen en reflecties
Mobiele GPU'sStandaard methodeBeperkte ondersteuning (A17 Pro, Snapdragon Gen 3)
EnergieverbruikLaagHoog

MSAA en anti-aliasing bij rasterisatie

Bij rasterisatie ontstaat het probleem van aliasing — getrapte randen (jaggies) op de grenzen van driehoeken. Dit gebeurt omdat een pixel discreet is en niet gedeeltelijk door een driehoek kan worden bedekt. Voor de bestrijding van aliasing wordt multisampling (MSAA) toegepast.

Hoe MSAA werkt

MSAA (Multisample Anti-Aliasing) voert rasterisatie uit met verhoogde samplefrequentie (2x, 4x, 8x). In plaats van één sample per pixel worden meerdere sub-samples gebruikt, die elk worden gecontroleerd op bedekking door de driehoek. MSAA 4x verwerkt 4 sub-samples per pixel, wat een merkbare gladmaking van randen oplevert zonder de volledige renderresolutie te verhogen.

FXAA en andere post-process methoden

In tegenstelling tot MSAA werken post-process anti-aliasing methoden (FXAA, SMAA, TAA) na rasterisatie, door het uiteindelijke beeld te analyseren. FXAA (Fast Approximate Anti-Aliasing) detecteert de randen van het beeld en past vervaging toe voor gladmaking, aanzienlijk sneller dan MSAA, maar met een minder kwalitatief resultaat.

Rasterisatie op GPU en optimalisatie

Rasterisatie op moderne GPU's wordt uitgevoerd door gespecialiseerde hardwareblokken — ROP (Render Output Units). Het aantal ROP's beïnvloedt direct de vulsnelheid (fill rate) — het aantal pixels dat de GPU per seconde kan verwerken.

Factoren van rasterisatieprestaties

  • Triangle count — aantal driehoeken per frame. Elke driehoek vereist overhead voor setup en randtesten.
  • Fill rate — aantal pixels dat door ROP-blokken per seconde wordt verwerkt. Afhankelijk van de klokfrequentie van de GPU en het aantal ROP's.
  • Overdraw — herhaalde rasterisatie van een pixel door overlapping van driehoeken. Geoptimaliseerd door objecten te sorteren op diepte.

Optimalisatie van rasterisatie voor mobiele GPU's

Voor mobiele GPU's (Tile-Based Rendering) zijn kritisch belangrijk: minimalisatie van overdraw door vroege afwijzing (early-Z), gebruik van back-face culling voor het verwijderen van onzichtbare driehoeken en verborgen oppervlakteverwijdering (occlusion culling) voor het afwijzen van driehoeken die volledig worden bedekt door andere objecten.

Veelgestelde vragen

Wat is rasterisatie in eenvoudige woorden?

Rasterisatie is het proces van het omzetten van driehoeken naar pixels op het scherm. De GPU neemt een driedimensionale driehoek, bepaalt welke pixels van het scherm hij bedekt en geeft ze door aan de Fragment Shader voor inkleuring.

Wat is het verschil tussen rasterisatie en ray tracing?

Rasterisatie projecteert driehoeken op het scherm en bepaalt pixelbedekking (zeer snel). Ray tracing stuurt stralen van de camera en controleert snijpunten met geometrie (fysiek nauwkeuriger, maar aanzienlijk langzamer).

Waarom is anti-aliasing nodig bij rasterisatie?

Bij rasterisatie behoort een pixel volledig tot een driehoek of niet — vandaar getrapte randen (aliasing). MSAA maakt randen glad door meerdere sub-samples per pixel, en FXAA past een filter toe op het voltooide beeld.

Kan de rasterisatiefase worden geprogrammeerd?

Nee, rasterisatie is een vaste fase van de grafische pijplijn. De ontwikkelaar kan het algoritme niet wijzigen, maar kan wel instellingen beheren: culling, polygon offset, rasterisatiemodus (punten, lijnen, driehoeken) en MSAA-parameters.

Waarom gebruiken mobiele GPU's Tile-Based Rendering?

Tile-Based Rendering (TBR) verdeelt het scherm in tiles en verwerkt ze in snel lokaal geheugen, niet in globale VRAM. Dit vermindert drastisch het energieverbruik en de bandbreedte, wat kritisch is voor batterijgevoede mobiele apparaten.

Samenvatting

  • Rasterisatie — omzetting van vectordriehoeken naar rasterfragmenten voor weergave op het scherm.
  • Half-space methode — het belangrijkste rasterisatie-algoritme in moderne GPU's.
  • Tile-Based Rendering — rasterisatie-architectuur gebruikt in mobiele GPU's (Adreno, Mali).
  • Aliasing — het probleem van getrapte randen, opgelost via MSAA, FXAA of TAA.
  • Fill rate — de belangrijkste prestatieparameter van rasterisatie, afhankelijk van het aantal ROP-blokken.
  • Overdraw — herhaalde rasterisatie van pixels, geoptimaliseerd via early-Z en occlusion culling.
  • Ray Tracing — alternatieve methode die fysiek correcte rendering biedt ten koste van prestaties.

We ontwikkelen een mobiele applicatie turnkey

IT Sectr creëert sinds 2017 iOS- en Android-applicaties voor startups en bedrijven. We adviseren u en stellen de beste oplossing voor.

Bespreek het project

Lees ook