Appareils
Un périphérique Direct3D est le composant de rendu de Direct3D. Un périphérique encapsule et stocke l’état de rendu, effectue des transformations et des opérations d’éclairage, et rastérise une image sur une surface.
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.
Direct3D prend 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
Ces appareils sont 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. Le comportement du logiciel ou de l’appareil de référence fourni est identique à celui de l’appareil hal, mais les fonctionnalités de l’appareil varient, et un appareil logiciel particulier peut implémenter un ensemble beaucoup plus petit de fonctionnalités.
Dans cette section
Sujet | Description |
---|---|
Les types d’appareils Direct3D incluent les appareils de couche d’abstraction matérielle (hal) et le rastériseur de référence. |
|
Les applications Direct3D peuvent s’exécuter en deux modes : fenêtré ou plein écran. En mode fenêtré, l’application partage l’espace d’écran de bureau disponible avec toutes les applications en cours d’exécution. En mode plein écran, la fenêtre dans laquelle l’application s’exécute couvre l’intégralité du bureau, masquant toutes les applications en cours d’exécution (y compris votre environnement de développement). |
|
Un appareil Direct3D peut être dans un état opérationnel ou un état perdu. L’état opérationnel est l’état normal de l’appareil dans lequel l’appareil s’exécute et présente tout le rendu comme prévu. L’appareil effectue une transition vers l’état perdu lorsqu’un événement, tel que la perte de focus clavier dans une application plein écran, rend le rendu impossible. |
|
Une chaîne d’échange est une collection de mémoires tampons utilisées pour afficher des images à l’utilisateur. Chaque fois qu’une application présente une nouvelle image pour l’affichage, la première mémoire tampon de la chaîne d’échange prend la place de la mémoire tampon affichée. Ce processus est appelé permutation ou détourage. |
|
Souvent, les points spécifiés pour les sommets ne correspondent pas précisément aux pixels sur l’écran. Dans ce cas, Direct3D applique des règles de rastérisation de triangle pour déterminer les pixels qui s’appliquent à un triangle donné. |
Rubriques connexes
Guide d’apprentissage du graphisme Direct3D