Appareils Direct3D (Direct3D 9)
Un appareil Direct3D est le composant de rendu de Direct3D. Il encapsule et stocke l’état de rendu. En outre, un appareil Direct3D effectue des transformations et des opérations d’éclairage et ratérise une image sur une surface.
- XPDM vs WDDM
- types d’appareils (Direct3D 9)
- création d’un appareil (Direct3D 9)
- fenêtrés par rapport au mode Full-Screen (Direct3D 9)
- sélection d’un appareil (Direct3D 9)
- appareils perdus (Direct3D 9)
- déterminer la prise en charge matérielle (Direct3D 9)
- traitement des données de vertex (Direct3D 9)
- Primitives
Architecturalement, les appareils Direct3D contiennent un module de transformation, un module d’éclairage et un module de rastérisation, comme le montre le diagramme suivant.
diagramme
Direct3D prend actuellement en charge deux types principaux d’appareils Direct3D :
- Un appareil hal avec une rastérisation et une trame de fond accélérées matériellement avec le traitement de vertex matériel et logiciel
- Un appareil de référence
Vous pouvez considérer ces appareils comme deux pilotes distincts. Les logiciels et les périphériques de référence sont représentés par les pilotes logiciels, et le périphérique hal est représenté par un pilote matériel. La façon la plus courante de tirer parti de ces appareils consiste à utiliser l’appareil hal pour les applications d’expédition et l’appareil de référence pour les tests de fonctionnalités. Ceux-ci sont fournis par des tiers pour émuler des appareils particuliers , par exemple, du matériel de développement qui n’a pas encore été libéré.
L’appareil Direct3D créé par une application doit correspondre aux fonctionnalités du matériel sur lequel l’application s’exécute. Direct3D fournit des fonctionnalités de rendu, soit en accédant au matériel 3D installé sur l’ordinateur, soit en émulant les fonctionnalités du matériel 3D dans les logiciels. Par conséquent, Direct3D fournit des appareils pour l’accès matériel et l’émulation logicielle.
Les appareils à accélération matérielle offrent de meilleures performances que les appareils logiciels. Le type d’appareil hal est disponible sur toutes les cartes graphiques prises en charge par Direct3D. Dans la plupart des cas, les applications ciblent les ordinateurs qui ont une accélération matérielle et s’appuient sur l’émulation logicielle pour prendre en charge les ordinateurs inférieurs.
À l’exception de l’appareil de référence, les appareils logiciels ne prennent pas toujours en charge les mêmes fonctionnalités qu’un appareil matériel. Les applications doivent toujours rechercher des fonctionnalités d’appareil pour déterminer quelles fonctionnalités sont prises en charge.
Étant donné que le comportement des logiciels et des appareils de référence fournis avec Direct3D 9 est identique à celui de l’appareil hal, le code d’application créé pour fonctionner avec l’appareil hal fonctionne avec les logiciels ou les appareils de référence sans modification. Notez que bien que le logiciel fourni ou le comportement de l’appareil de référence soit identique à celui de l’appareil hal, les fonctionnalités de l’appareil varient et un appareil logiciel particulier peut implémenter un ensemble de fonctionnalités beaucoup plus petit.
Comportements
Direct3D vous permet de spécifier le comportement d’un appareil, ainsi que le type de l’appareil. La méthode IDirect3D9 ::CreateDevice permet de combiner un ou plusieurs indicateurs de comportement pour contrôler les comportements globaux de l’appareil Direct3D. Ces comportements spécifient ce qui est et n’est pas conservé dans la partie d’exécution de Direct3D, et les types d’appareils spécifient le pilote à utiliser. Bien que certaines combinaisons de comportements d’appareil ne soient pas valides, il est possible d’utiliser tous les comportements d’appareil avec tous les types d’appareils. Par exemple, il est valide de spécifier D3DDEVTYPE_SW sur un appareil créé avec D3DCREATE_PUREDEVICE.
Rubriques connexes