Direct3D

Direct3D

Direct3D est une bibliothèque logicielle de la série 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[réf. nécessaire]. 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èques 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é, 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

Wikimedia Foundation. 2010.

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

Игры ⚽ Поможем решить контрольную работу

Regardez d'autres dictionnaires:

  • Direct3D — is part of Microsoft s DirectX API. Direct3D is only available for Microsoft s various Windows operating systems (Windows 95 and above) and is the base for the graphics API on the Xbox and Xbox 360 console systems. Direct3D is used to render… …   Wikipedia

  • Direct3D — Saltar a navegación, búsqueda Direct3D es parte de DirectX, una API propiedad de Microsoft disponible tanto en los sistemas Windows de 32 y 64 bits, como para sus consolas Xbox y Xbox 360 para la programación de gráficos 3D. El objetivo de esta… …   Wikipedia Español

  • Direct3D — ist eine Programmierschnittstelle (API) von Microsoft für 3D Computergrafik. Direct3D ist ein Bestandteil von DirectX. Das 1992 von Servan Keondjian gegründete Unternehmen RenderMorphic wurde im Jahre 1995 von Microsoft gekauft, um dessen 3D API… …   Deutsch Wikipedia

  • Direct3D — es una API propiedad de Microsoft y disponible en los sistemas Windows de 32 bits, para la programación de gráficos en 3D. Análoga de la API OpenGL. Esta API facilita el manejo y trazado de entidades gráficas elementales en cualquier aplicación… …   Enciclopedia Universal

  • Direct3D — Direct3D,   DirectX …   Universal-Lexikon

  • Direct3D 11 — Стиль этой статьи неэнциклопедичен или нарушает нормы русского языка. Статью следует исправить согласно стилистическим правилам Википедии. Direct3D 11 (D3D11)  компонент интерфейса программирования приложений (англ.  …   Википедия

  • Direct3D 10 — Для улучшения этой статьи желательно?: Викифицировать статью. Переработать оформление в соответствии с правилами написания статей. Исправить статью согласно стилистическим правилам Википедии …   Википедия

  • Direct3D — …   Википедия

  • Microsoft Direct3D — Direct3D is part of Microsoft s DirectX application programming interface (API). Direct3D is available for Microsoft Windows operating systems (Windows 95 and above), and for other platforms through the open source software Wine. It is the base… …   Wikipedia

  • Comparison of OpenGL and Direct3D — Direct3D and OpenGL are competing application programming interfaces (APIs) which can be used in applications to render 2D and 3D computer graphics, taking advantage of hardware acceleration when available. Modern graphics processing unit (GPUs)… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”