Direct3D
Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

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 (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à),...) sert à générer des graphismes en trois dimensions (Dans le sens commun, la notion de dimension renvoie à la taille ; les dimensions d'une pièce sont sa longueur, sa largeur et sa profondeur/son épaisseur, ou bien son diamètre si c'est une pièce de révolution.) pour les applications où la performance est importante, comme les jeux vidéo (La vidéo regroupe l'ensemble des techniques, technologie, permettant l'enregistrement ainsi que la restitution d'images animées, accompagnées ou non de son, sur un support adapté à...). Direct3D permet également à des applications de fonctionner en plein écran (Un moniteur est un périphérique de sortie usuel d'un ordinateur. C'est l'écran où s'affichent les informations saisies ou demandées par l'utilisateur et générées ou...), plutôt qu'intégrées dans une fenêtre (En architecture et construction, une fenêtre est une baie, une ouverture dans un mur ou un pan incliné de toiture, avec ou sans vitres.), bien qu'elles puissent toujours tourner dans une fenêtre si elles sont programmées pour cette utilisation. Direct3D utilise l'accélération (L'accélération désigne couramment une augmentation de la vitesse ; en physique, plus précisément en cinématique, l'accélération est une grandeur...) matérielle si elle est disponible à travers une carte graphique (Une carte graphique ou carte vidéo (anciennement par abus de langage une carte VGA), ou encore un adaptateur graphique, est une carte d’extension d’ordinateur dont le rôle est de produire une image...).

Direct3D est une API 3D. C'est-à-dire qu'elle contient un grand nombre (La notion de nombre en linguistique est traitée à l’article « Nombre grammatical ».) d'instructions pour l'affichage (L' affichage désigne l'application d'une surface de papier script dans un lieu public(et non du foyer)sur un support destiné à son émission, externe ou interne, ce qui en fait un média à part entière sans contexte rédactionnel. Panneaux...) 3D, et très peu pour l'affichage 2D. Microsoft (Microsoft Corporation (NASDAQ : MSFT) est une multinationale américaine de solutions informatiques, fondée par Bill Gates et Paul Allen,...) effectue des mises à jour (Le jour ou la journée est l'intervalle qui sépare le lever du coucher du Soleil ; c'est la période entre deux nuits, pendant laquelle les rayons du Soleil éclairent le ciel. Son début (par...) 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 (En informatique, un logiciel est un ensemble d'informations relatives à des traitements effectués automatiquement par un appareil informatique. Y sont inclus les instructions de...) programmé avec Direct3D nécessite des pixel (Le pixel, souvent abrégé px, est une unité de surface permettant de mesurer une image numérique. Son nom provient de la locution anglaise picture element, qui signifie...) shaders et que la carte graphique de l'ordinateur (Un ordinateur est une machine dotée d'une unité de traitement lui permettant d'exécuter des programmes enregistrés. C'est un ensemble de circuits...) 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 (La théorie de l'information fut mise au point pour déterminer mathématiquement le taux d’information transmis dans la communication d’un message par un canal de communication,...) d'erreur.

Le concurrent principal de Direct3D est OpenGL (OpenGL (Open Graphics Library) est une spécification qui définit une API multiplate-forme pour la conception d'applications générant des images 3D (mais également 2D). Elle utilise...). 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. Voir Direct3D contre OpenGL pour un résumé.

Historique des versions

Direct3D a été introduit avec la version 3.0 de DirectX (Microsoft DirectX est une collection de bibliothèques destinées à la programmation d’applications multimédia. Plus...). À l'origine il s'agissait principalement d'un moteur (Un moteur (du latin mōtor : « celui qui remue ») est un dispositif qui déplace de la matière en apportant de la puissance. Il effectue ce travail à partir d'une énergie...) type scene graph plutôt haut niveau avec une accélération software 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 3D software soit trouvaient les execute buffers plutôt abscons.

La version 4.0 de DirectX a été sautée pour passer (Le genre Passer a été créé par le zoologiste français Mathurin Jacques Brisson (1723-1806) en 1760.) directement à DirectX 5. (tout comme DirectX 2 avait été sauté pour aller directement à DirectX 3).

Direct3D 5.0 a apporté un "maquillage" des execute buffers tant décriés, sous forme de commandes de tracé de primitives (drawprimitive) qui semblaient plus rationnelles pour le programmeur (En informatique, un développeur (ou programmeur) est un informaticien qui réalise du logiciel en créant des algorithmes et en les mettant en œuvre dans un langage de...) 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'environment bumpmapping. Les formats de texture compressés inventés par S3 (S3TC) ont été intégré dans Direct3D et adoptés par tous les vendeurs de hardware.

Dans la version 7.0 de Direct3D, le format de texture .dds a été introduit. La version est également la première version de Direct3D a supporter le hardware transformed and lighting des nouvelles Geforce (GeForce est le nom donné par nVidia à ses séries de cartes graphiques depuis 1999. La première GeForce était la GeForce 256. Lancée en automne 1999, elle fut la première...) 256. (La notion de accelerated transform and lighting existait depuis longtemps dans l'espace des workstations et le monde (Le mot monde peut désigner :) OpenGL pro). D'autres notions ont fait leur apparition comme le cubemapping (permettant de simuler les reflexions d'un environnement (L'environnement est tout ce qui nous entoure. C'est l'ensemble des éléments naturels et artificiels au sein duquel se déroule la vie humaine. Avec les enjeux écologiques actuels, le terme...) sphérique).

Direct3D a longtemps été considéré comme difficile à utiliser, mais à partir de la version 8.0 de DirectX, beaucoup de problèmes d'utilisation ont été résolus et il est rapidement devenu la plateforme de choix pour le développement de nouveaux jeux sous Windows (Windows est une gamme de systèmes d'exploitation produite par Microsoft, principalement destinées aux machines compatibles PC. C'est le remplaçant de MS-DOS. Depuis les années 1990, avec la...) (OpenGL conservant son monopole sur les autres plateformes). Direct3D 8 contenait beaucoup de fonctionnalité très puissantes pour l'affichage 3D, comme les vertex shaders, les pixel shaders. Il a également servi de base de programmation (La programmation dans le domaine informatique est l'ensemble des activités qui permettent l'écriture des programmes informatiques. C'est une étape importante de la conception de logiciel (voire de matériel, cf. VHDL).) sur la console XBox de Microsoft, qui incluait la première puce graphique à implémenter des pixel et vertex shaders (la Geforce 3).

À 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 (Une combinaison peut être :) de DirectDraw (DirectDraw est une API de la suite DirectX de Microsoft. Elle est utilisé pour le rendu d'image où une haute performance est importante. 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 (Le temps est un concept développé par l'être humain pour appréhender le changement dans le monde.) 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 (Le rendu est un processus informatique calculant l'image 2D (équivalent d'une photographie) d'une scène créée dans un logiciel de modélisation 3D comportant à la fois des objets et des sources de lumière et vue...) simultanées (MRT), et l'indexation des sommets (index buffers).

La version 10 représente une importante fracture (En traumatologie, le terme de fracture désigne par définition une solution de continuité osseuse ("rupture" des os).) avec les anciens modèles, abandonnant l'ancien modèle de compatibilité, reposant principalement sur la programmabilité et apportant un lot important de nouvelles fonctionnalités comme les geometry shaders et un meilleur instancing (Pour une liste résumée des nouvelles features 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). Cette version de Direct3D n'est disponible et compatible qu'avec Windows Vista.

Une version 11 a été annoncée pour 2009.

Outils en relation

DirectX est fourni (Les Foúrnoi Korséon (Grec: Φούρνοι Κορσέων) appelés plus communément Fourni, sont un archipel de...) avec D3DX, une bibliothèque d'outils conçue pour effectuer les calculs mathématiques (Les mathématiques constituent un domaine de connaissances abstraites construites à l'aide de raisonnements logiques sur des concepts tels que les nombres, les figures, les structures et les transformations. Les...) courants et plusieurs tâches plus compliquées, telles que la compilation ou l'assemblage de shaders 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 (Le mot dynamique est souvent employé désigner ou qualifier ce qui est relatif au mouvement. Il peut être employé comme :) (DLL) ou comme une bibliothèque statique (Le mot statique peut désigner ou qualifier ce qui est relatif à l'absence de mouvement. Il peut être employé comme :) (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.

Page générée en 0.326 seconde(s) - site hébergé chez Amen
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
Ce site est édité par Techno-Science.net - A propos - Informations légales
Partenaire: HD-Numérique