Direct3D-apparaten (Direct3D 9)
Een Direct3D-apparaat is het renderingonderdeel van Direct3D. De weergavestatus wordt ingekapseld en opgeslagen. Daarnaast voert een Direct3D-apparaat transformaties en verlichtingsbewerkingen uit en rastert een afbeelding naar een oppervlak.
- XPDM versus WDDM-
- Apparaattypen (Direct3D 9)
- Een apparaat maken (Direct3D 9)
- Windowed versus Full-Screen Mode (Direct3D 9)
- Een apparaat (Direct3D 9) selecteren
- Verloren apparaten (Direct3D 9)
- hardwareondersteuning (Direct3D 9)
- Vertex-gegevens (Direct3D 9) verwerken
- Primitieven
Direct3D-apparaten bevatten architectuur een transformatiemodule, een verlichtingsmodule en een rastermodule, zoals in het volgende diagram wordt weergegeven.
Direct3D ondersteunt momenteel twee hoofdtypen Direct3D-apparaten:
- Een halapparaat met hardwareversnelde rasterisering en arcering met zowel hardware- als softwarehoekverwerking
- Een referentieapparaat
U kunt deze apparaten beschouwen als twee afzonderlijke stuurprogramma's. Software- en referentieapparaten worden vertegenwoordigd door softwarestuurprogramma's en het hal-apparaat wordt vertegenwoordigd door een hardwarestuurprogramma. De meest voorkomende manier om te profiteren van deze apparaten is door het hal-apparaat te gebruiken voor verzendingstoepassingen en het referentieapparaat voor het testen van functies. Deze worden door derden verstrekt om bepaalde apparaten te emuleren, bijvoorbeeld ontwikkelhardware die nog niet is vrijgegeven.
Het Direct3D-apparaat dat door een toepassing wordt gemaakt, moet overeenkomen met de mogelijkheden van de hardware waarop de toepassing wordt uitgevoerd. Direct3D biedt renderingmogelijkheden, hetzij door toegang te krijgen tot 3D-hardware die op de computer is geïnstalleerd of door de mogelijkheden van 3D-hardware in software te emuleren. Daarom biedt Direct3D apparaten voor zowel hardwaretoegang als software-emulatie.
Door hardware versnelde apparaten bieden veel betere prestaties dan softwareapparaten. Het type hal-apparaat is beschikbaar op alle direct3D ondersteunde grafische adapters. In de meeste gevallen richten toepassingen zich op computers met hardwareversnelling en vertrouwen ze op software-emulatie om te voorzien in computers met een lager einde.
Met uitzondering van het referentieapparaat ondersteunen softwareapparaten niet altijd dezelfde functies als een hardwareapparaat. Toepassingen moeten altijd query's uitvoeren op apparaatmogelijkheden om te bepalen welke functies worden ondersteund.
Omdat het gedrag van de software- en referentieapparaten die worden geleverd met Direct3D 9 identiek is aan die van het hal-apparaat, werkt de toepassingscode die is gemaakt om met het hal-apparaat te werken met de software of referentieapparaten zonder wijzigingen. Houd er rekening mee dat hoewel het opgegeven software- of referentieapparaatgedrag identiek is aan dat van het hal-apparaat, variëren de mogelijkheden van het apparaat en kan een bepaald softwareapparaat een veel kleinere set mogelijkheden implementeren.
Gedrag
Met Direct3D kunt u het gedrag van een apparaat opgeven, evenals het type van het apparaat. De methode IDirect3D9::CreateDevice maakt een combinatie van een of meer gedragsvlagmen mogelijk om het globale gedrag van het Direct3D-apparaat te beheren. Met dit gedrag wordt aangegeven wat er wel en niet wordt onderhouden in het runtimegedeelte van Direct3D, en de apparaattypen geven aan welk stuurprogramma moet worden gebruikt. Hoewel sommige combinaties van apparaatgedrag niet geldig zijn, is het mogelijk om alle apparaatgedragen met alle apparaattypen te gebruiken. Het is bijvoorbeeld geldig om D3DDEVTYPE_SW op te geven op een apparaat dat is gemaakt met D3DCREATE_PUREDEVICE.
Verwante onderwerpen