Direct 3D


Direct 3D

Direct3D

Direct3D est un composant de l'API Microsoft DirectX. Direct3D est utilisé uniquement dans les multiples systèmes d'exploitations Windows de Microsoft (Windows 95 et au-delà), ainsi que dans la Xbox, mais dans une version assez différente. Direct3D sert à générer des graphismes en trois dimensions pour les applications où la performance est importante, comme les jeux vidéo. Direct3D permet également à des applications de fonctionner en plein écran, plutôt qu'intégrées dans une fenêtre, bien qu'elles puissent toujours tourner dans une fenêtre si elles sont programmées pour cette utilisation. Direct3D utilise l'accélération matérielle si elle est disponible à travers une carte graphique.

Direct3D est une API 3D. C'est-à-dire qu'elle contient un grand nombre d'instructions pour l'affichage 3D, et très peu pour l'affichage 2D. Microsoft effectue des mises à jour continuelles de Direct3D pour permettre l'exploitation des dernières technologies disponibles sur les cartes graphiques 3D. Direct3D fournit une émulation logicielle complète pour les calculs concernant les sommets (vertex en anglais), mais aucune émulation logicielle pour les calculs concernant les pixels pour les fonctionnalité non disponibles au niveau matériel. Par exemple, si un logiciel programmé avec Direct3D nécessite des pixel shaders et que la carte graphique de l'ordinateur de l'utilisateur ne fournit pas cette fonctionnalité, Direct3D ne l'émulera pas. En conséquence, le programme s'arrêtera probablement avec un message d'erreur.

Les concurrents de Direct3D sont les bibliothèque respectant l'OpenGL. Il y a de nombreuses fonctionnalités et problèmes sur lesquels les partisans de l'une ou l'autre API sont en désaccord.

Historique des versions

Direct3D a été introduit avec la version 3.0 de DirectX. À l'origine il s'agissait principalement d'un moteur de rendu du type scene graph plutôt haut niveau avec une accélération logicielle performante, accompagnée d'une base très bas niveau basée sur les execute buffers. Aucune des deux n'a vraiment trouvé son public auprès des développeurs qui soit préféraient écrire leur propre gestion de scène adaptée à leur jeu ou héritée de leur moteur logiciel de 3D, soit trouvaient les execute buffers plutôt abscons.

La version 4.0 de DirectX n'a pas été publiée, laissant place directement à la version 5.

Direct3D 5.0 a apporté un "maquillage" des execute buffers qui a été très décriés, sous forme de commandes de tracé de primitives (drawprimitive) qui semblaient plus rationnelles pour le programmeur lambda.

Direct3D 6.0 était une amélioration de Direct3D 5 avec des nouveaux concepts comme le multitexturing (qui avait d'abord fait son apparition dans OpenGL et utilisé par des jeux comme Quake 2) ou encore l'environnement bumpmapping. Les formats de texture compressés inventés par S3 (S3TC) ont été intégrés dans Direct3D et adoptés par tous les fondeurs de CPU 3D.

Dans la version 7.0 de Direct3D, un format de texture spécifique a été introduit. La version est également la première version de Direct3D a supporter les fonctions matérielles de transformed and lighting des nouvelles cartes graphiques Geforce 256. (La notion de accelerated transform and lighting existait depuis longtemps dans les stations de travail graphique qui utilise par exemple la version professionnelle de OpenGL). D'autres notions ont fait leur apparition comme le cubemapping (permettant de simuler les réflexions d'élément sphériques).

Si Direct3D a longtemps été considéré comme difficile à utiliser, la version 8.0 de DirectX a résolu beaucoup de problèmes d'utilisation que redoutaient les programmeurs et elle est rapidement devenue une API de choix pour le développement de jeux sous Windows (OpenGL conservant son monopole sur les autres plateformes). Direct3D 8 contenait beaucoup de fonctionnalités très puissantes pour l'affichage 3D, comme les vertex shaders, les pixel shaders. Cette version a également inclus dans la bibliothèque de programmation de base pour la console XBox, qui incluait la Geforce 3, la première puce graphique à implémenter matériellement les pixels et vertex shaders.

À la sortie de la version 9.0 de DirectX, Direct3D a été intégré dans un composant logiciel appelé Direct Graphics. Direct Graphics était supposé être une combinaison de DirectDraw et Direct3D, mais n'était en réalité que Direct3D avec quelques fonctionnalités de DirectDraw en plus. La plupart des utilisateurs se réfèrent toujours à Direct Graphics en l'appelant Direct3D. Ce nom a été abandonné quelque temps après son introduction par Microsoft.

La version 9.0 de Direct3D a ajouté une nouvelle version du High Level Shader Language, avec le support du High dynamic range lighting grâce à une précision des shaders accrue et des formats de texture à virgule flottante. Il a introduit également la possibilité d'utiliser plusieurs surfaces de rendu simultanées (MRT), et l'indexation des sommets (index buffers).

La version 10 représente une importante fracture avec les anciens modèles, en abandonnant la compatibilité avec les anciennes versions, reposant principalement sur la simplicité de programmation et apportant un lot important de nouvelles fonctionnalités comme les geometry shaders et un meilleur instancing[1]. Cette version de Direct3D n'est disponible et compatible qu'avec Windows Vista.

Une version 11 a été annoncée pour 2009. La Release Candidate de Windows 7 intègre un support D3D11 [2]. D3D11 apporte un support de la tesselation, du rendu par Processus léger, et des compute shader concurrençant le CUDA de Nvidia, l'ATI Stream et l'OpenCL.

Outils en relation

DirectX est fourni avec D3DX, une bibliothèque d'outils conçue pour effectuer les calculs mathématiques courants et plusieurs tâches plus compliquées, telles que la compilation ou l'assemblage de texturage utilisés pour la programmation 3D graphique. Il inclut également plusieurs classes qui simplifient l'utilisation de modèles 3D et, par exemple, les systèmes de particules. D3DX est fourni comme une bibliothèque de lien dynamique (DLL) ou comme une bibliothèque statique (c'est-à-dire incluse dans l'exécutable).

DXUT (également appelé en anglais sample framework) est une couche établie par-dessus l'API Direct3D. Cette couche est conçue pour aider le programmeur à passer moins de temps avec des tâches répétitives, telles que créer une fenêtre, créer un device, traiter les messages de Windows et manipuler les événements du device.

Notes et références

  1. Pour une liste résumée des nouvelles versions voir cette page : Direct3D 10 du changement en perspective ou voir aussi cette page de Hardware.fr ou mieux encore chez Présence-pc.com
  2. http://www.clubic.com/article-274266-2-windows-7-microsoft-test-dossier.html
  • Portail de l’informatique Portail de l’informatique
Ce document provient de « Direct3D ».

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Direct 3D de Wikipédia en français (auteurs)

Regardez d'autres dictionnaires:

  • direct — di·rect 1 vt 1: to order with authority the testator direct ed that the car go to his niece 2: to order entry of (a verdict) without jury consideration the court direct ed a verdict in favor of the defendant 3: to act …   Law dictionary

  • direct — DIRÉCT, Ă, direcţi, te, adj., s.f., adv. 1. adj. Care duce la ţintă, de a dreptul, fără ocol; drept. ♢ În linie directă = din tată în fiu, în linie dreaptă de rudenie. 2. s.f. Lovitură dată de un boxer cu mâna întinsă drept înainte. 3. adv. De a… …   Dicționar Român

  • Direct — Di*rect , a. [L. directus, p. p. of dirigere to direct: cf. F. direct. See {Dress}, and cf. {Dirge}.] 1. Straight; not crooked, oblique, or circuitous; leading by the short or shortest way to a point or end; as, a direct line; direct means. [1913 …   The Collaborative International Dictionary of English

  • direct — Ⅰ. direct UK US /dɪˈrekt/, /daɪˈrekt/ adjective ► without anyone or anything else being involved or coming between two people or things: »She decided to take direct control of the project. »He had had no direct involvement with the deal. »Have… …   Financial and business terms

  • Direct — may refer to: Direct current, a direct flow of electricity Direct examination, the in trial questioning of a witness by the party who has called him or her to testify Direct sum of modules, a construction in abstract algebra which combines… …   Wikipedia

  • direct — direct, ecte (di rèkt, rè kt ; au pluriel masculin l s ne se lie jamais : des avis di rekt et pressants ; la prononciation de la finale ct, cts, au masculin singulier ou pluriel est mal assurée ; on entend quelquefois prononcer di rè, comme… …   Dictionnaire de la Langue Française d'Émile Littré

  • direct — vb 1 Direct, address, devote, apply are comparable when used reflexively with the meaning to turn or bend one s attention, energies, or abilities to something or when meaning to turn, bend, or point (as one s attention, thoughts, or efforts) to a …   New Dictionary of Synonyms

  • Direct 8 — Saltar a navegación, búsqueda Direct 8 Nombre público Direct 8 Eslogan La nouvelle grande chaîne généraliste Programación Generalista Propietario Bolloré País …   Wikipedia Español

  • Direct — Di*rect , v. t. [imp. & p. p. {Directed}; p. pr. & vb. n. {Directing}.] 1. To arrange in a direct or straight line, as against a mark, or towards a goal; to point; to aim; as, to direct an arrow or a piece of ordnance. [1913 Webster] 2. To point… …   The Collaborative International Dictionary of English

  • direct — [də rekt′; ] also [ dīrekt′] adj. [ME < L directus, pp. of dirigere, to lay straight, direct < di , apart, from + regere, to keep straight, rule: see REGAL] 1. by the shortest way, without turning or stopping; not roundabout; not… …   English World dictionary

  • Direct 8 — Launched 31 March 2005 Owned by Groupe Canal+ Picture format 576i (SDTV) 1080i (HDTV) Audience share 2.4% (October 2011 …   Wikipedia