DirectX 11 Preview

Inhoudsopgave
  1. 1. Inleiding
  2. 2. DirectX 11
  3. 3. Tesselation
  4. 4. Pipeline
  5. 5. Dynamic shader linkage
  6. 6. Hardware

Pipeline

Om tessalation mogelijk te maken, is aan de DirectX pipeline een aantal stappen toegevoegd, zoals te zien in onderstaande figuur. De rode en blauwe onderdelen kennen we al uit de DirectX 10 pipeline, de gele stappen zijn toegevoegd. Allereerst is er de zogenaamde Hull shader,  een eenheid die alle data op de juiste manier klaar maakt om het tesselation proces door te gaan en verder het benodigde niveau van teselation bepaald. Verder heeft de Hull shader een andere belangrijke functie; waar alle bestaande onderdelen van GPU's met driehoeken (triangles) werken, rekent de tesselator aan vierhoeken (patches), omdat de gebruikte algoritmes alleen daarvoor werken. Het omzetten van triangles naar patches gebeurt dus ook in de hull shader.

Achter de tesselator zelf, vinden we de domain shader, een unit die de output van de tesselator weer terugvertaalt naar hoekpunten (vertices) en driehoeken, waar de rest van de bestaande DirectX pipeline mee aan de slag kan.

Compute shaders

In de nieuwe pipeline vinden we ook nog een ander nieuw onderdeel, de zogenaamde compute shaders. Via deze functionaliteit kunnen de rekeneenheden binnen een CPU eenvoudiger ingezet worden voor andere taken dan 3D-beelden. Hiermee zet Microsoft voor het eerst ook een flinke stap in de wereld van GPGPU (general purpose GPU). In feite wordt DirectX op deze manier een directe tegenhanger van nVidia's CUDA of ATI's Stream SDK. Het grote verschil is echter dat DirectX op videokaarten van beide chipmakers draait. Ofwel, voor het eerst komt er voor het Windows platform een serieuze GPGPU programmeerinterface die breed ingezet kan worden. Microsoft richt zich niet alleen op zaken die binnen games van belang zijn (denk aan physics berekeningen), maar de compute shaders van DirectX zijn ook geschikt voor compleet andere zaken, van video encoding tot wetenschappelijk simulaties. Grote kans dus dat DirectX 11 de GPGPU revolutie in een stroomversnelling brengt.

Advertentie
0