Hoe werkt een 3D grafische kaart? (2003) – Deel 3

0 reacties
Inhoudsopgave
  1. 1. Inleiding
  2. 2. Filter, het vervolg
  3. 3. Stap 7: Full Scene Anti-Aliasing
  4. 4. De programmeerbare pipeline
  5. 5. De vertex shader
  6. 6. De pixel shader
  7. 7. 3D woordenlijst
  8. 0 reacties

Inleiding

In dit derde en laatste deel van onze serie over de werking van 3D grafische kaarten (deel 1, deel 2) komen we aan bij het einde van de 3D pipeline, waarin het gecreëerde beeld nog wat wordt opgepoetst en vervolgens op het scherm wordt gezet. Dit is echter niet het einde van het verhaal, want nu duidelijk is hoe deze pipeline in elkaar steekt, kunnen we gaan kijken naar de laatste ontwikkelingen op dit gebied. Hierin zien we hoe het tot dusver ‘vastgelegde’ onderdeel T&L evolueert tot een programmeerbare processor, die qua werking en rekenkracht de CPU begint te benaderen. Dankzij vertex en pixel shaders ontstaat een 3D-omgeving die dynamischer dan ooit tevoren is: de maakbare 3D-wereld.

Het creëren van een tweedimensionale (2D) weergave van een driedimensionale (3D) wereld op het beeldscherm is een in stappen onderverdeeld proces, dat we de 3D pipeline noemen. Hieronder zie je een korte herhaling van deze stappen.

De 3D pipeline

Naarmate de videokaart zich verder heeft ontwikkeld, heeft deze steeds meer onderdelen van het proces van het creëren van een 2D-weergave van een 3D-beeld overgenomen. De processor houdt zich op het moment van schrijven alleen nog bezig met het verwerken van de instructies van een programma. Hierbij wordt de virtuele 3D-wereld gevormd en een scène hieruit berekend. De uitkomst, een reeks coördinaten vergezeld van meta-informatie, is voor de videokaart alle informatie die deze nodig heeft om in een fractie van een seconde een beeld op het scherm te toveren. In deze zeer korte tijdspanne worden de volgende stappen doorlopen.

  • Transformation
    Transformatie ofwel omzetten van de 3D-scène coördinaten naar wereldcoördinaten, door middel van een matrixberekening.

  • Lighting
    Belichting van de 3D-scène door middel van vertex lighting.

  • Triangle Setup
    Omzetten van coördinaten naar driehoeken.

  • Rasterization
    Vertalen van 3D-beeld naar 2D-beeld met diepte-informatie.

  • Pixel Shading en Texturing
    Opvullen van de objecten in dit beeld met kleuren en texturen.

  • Filtering
    Beeldverbetering door ontbrekende kleuren te berekenen.

  • Full Scene Anti-Aliasing
    Ontkarteling van schuinlopende lijnen.

  • Frame buffer / scherm
    Wegschrijven van het beeld naar de frame buffer en vertoning op het scherm.


Nog één keer de DirectX 7 pipeline

0
*