Direct3D-architectuur (Direct3D 9)
Dit onderwerp bevat twee weergaven op hoog niveau van de architectuur van Direct3D:
- Direct3D Graphics Pipeline : een weergave van de interne verwerkingsarchitectuur van het Direct3D-renderingsysteem.
- Direct3D System Integration - Een weergave van hoe Direct3D mediat tussen een toepassing en de grafische hardware.
Direct3D Graphics Pipeline
De grafische pijplijn biedt de paardenkracht om Direct3D-scènes efficiënt te verwerken en weer te geven aan een beeldscherm, waarbij gebruik wordt gemaakt van beschikbare hardware. In het volgende diagram ziet u de bouwstenen van de pijplijn:
Pijplijnonderdeel | Beschrijving | Verwante onderwerpen |
---|---|---|
Hoekpuntgegevens | Niet-vertaalde modelpunten worden opgeslagen in geheugenbuffers van hoekpunten. | Hoekpuntbuffers (Direct3D 9)IDirect3DVertexBuffer9 |
Primitieve gegevens | Geometrische primitieven, waaronder punten, lijnen, driehoeken en veelhoeken, worden in de hoekpuntgegevens met indexbuffers verwezen. | IndexBuffers (Direct3D 9), IDirect3DIndexBuffer9, Primitieven, Higher-Order Primitieven (Direct3D 9) |
Mozaïekpatroon | De tesselatoreenheid converteert primitieven van hogere volgorde, verplaatsingskaarten en mesh-patches naar hoekpuntlocaties en slaat deze locaties op in hoekpuntbuffers. | Tessellation (Direct3D 9) |
Hoekpuntverwerking | Direct3D-transformaties worden toegepast op hoekpunten die zijn opgeslagen in de hoekpuntbuffer. | Hoekpuntpijplijn (Direct3D 9) |
Geometrieverwerking | Knipsel, achtervlakverruiming, kenmerkevaluatie en rasterisatie worden toegepast op de getransformeerde hoekpunten. | Pixel Pipeline (Direct3D 9) |
Oppervlak met bitmappatroon | Patrooncoördinaten voor Direct3D-oppervlakken worden geleverd aan Direct3D via de IDirect3DTexture9 interface. | Direct3D-patronen (Direct3D 9)IDirect3DTexture9 |
Texture Sampler | Filteren op patroonniveau wordt toegepast op invoerpatroonwaarden. | Direct3D-patronen (Direct3D 9) |
Pixelverwerking | Pixel shader-bewerkingen maken gebruik van geometriegegevens om invoerpunt- en bitmapgegevens te wijzigen, waardoor uitvoer pixelkleurwaarden worden gegenereerd. | Pixel Pipeline (Direct3D 9) |
Pixelweergave | Uiteindelijke renderingprocessen wijzigen pixelkleurwaarden met alfa-, diepte- of stenciltests, of door alfamenging of mist toe te passen. Alle resulterende pixelwaarden worden weergegeven in de uitvoerweergave. | Pixel Pipeline (Direct3D 9) |
Direct3D-systeemintegratie
In het volgende diagram ziet u de relaties tussen een Venstertoepassing, Direct3D, GDI en de hardware:
Direct3D maakt een apparaatonafhankelijke interface beschikbaar voor een toepassing. Direct3D-toepassingen kunnen naast GDI-toepassingen bestaan en beide hebben toegang tot de grafische hardware van de computer via het apparaatstuurprogramma voor de grafische kaart. In tegenstelling tot GDI kan Direct3D profiteren van hardwarefuncties door een hal-apparaat te maken.
Een halapparaat biedt hardwareversnelling voor grafische pijplijnfuncties, op basis van de functieset die wordt ondersteund door de grafische kaart. Er worden direct3D-methoden geboden om de weergavemogelijkheden van apparaten tijdens runtime op te halen. (Zie IDirect3DDevice9::GetDeviceCaps.) Als een mogelijkheid niet wordt geleverd door de hardware, rapporteert de hal deze niet als hardwaremogelijkheid.
Zie Apparaattypen (Direct3D 9)voor meer informatie over hal- en referentieapparaten die worden ondersteund door Direct3D.