FAQ DirectXConsultez toutes les FAQ

Nombre d'auteurs : 4, nombre de questions : 63, dernière mise à jour : 2 septembre 2018 

 
OuvrirSommaireDirectGraphicsDirectGraphics Généralités

DirectGraphics est la bibliothèque DirectX gérant les graphismes, autrement dit la 2D et la 3D. Né avec la version 8 de DirectX, il combine et remplace avantageusement ses ancêtres DirectDraw et Direct3D. l'API de base DirectGraphics fonctionne de pair avec la bibliothèque D3DX, qui apporte de nombreuses fonctionnalités complémentaires (voir http://jeux.developpez.com/faq/directx/?page=dgraphics_generalites#DGRAPHICS_GENERALITES_d3dx).

Créé le 22 janvier 2006  par Laurent Gomila

D3DX est une bibliothèque C++ accompagnant DirectGraphics et fournie dans le SDK de DirectX. Elle se compose d'une multitude de classes et fonctions :

  • types mathématiques (matrices, vecteurs, plans, quaternions) ;
  • gestion des modèles (meshes, animations, optimisations de la géométrie) ;
  • éclairage évolué (spherical harmonics) ;
  • gestion des shaders et des effets (chargement, compilation, manipulation des shaders ASM et HLSL) ;
  • primitives évoluées (boîtes, cylindres, tores, sphères, texte, lignes, sprites) ;
  • texturage avancé (chargement et sauvegarde à partir de nombreux formats de fichiers, conversions de format).

Habituellement D3DX était livré sous forme de bibliothèque statique, mais depuis quelques versions, il faut la lier dynamiquement (et donc ne pas oublier de livrer la DLL correspondante avec votre programme).

Créé le 22 janvier 2006  par Laurent Gomila

Le développement DirectX dans une application MFC diffère du développement classique Win32, principalement dans la gestion des messages et du rendu : il faudra cette fois passer par les mécanismes MFC.

Voici un tutoriel décrivant la marche à suivre pour intégrer DirectX à une application MFC :

Integrating Direct3D 8.1 With MFC Using Visual Studio 6.0 (HTML).

Créé le 22 janvier 2006  par Laurent Gomila

On a parfois du mal à se représenter la manière dont cheminent et interagissent les informations au sein de l'API. Voici un schéma à peu près complet du pipeline d'exécution de DirectGraphics, détaillant les diverses étapes du rendu ainsi que les fonctions/states/caps de l'API associés à chacune d'elle :

The Direct3D 9.0 Graphics Pipeline Poster

Il est important de noter qu'il s'agit d'une vue logique de haut niveau, et non de la manière dont le hardware traite les opérations. Par exemple, le test depth/scissor peut avoir lieu avant le pixel shading tant que celui-ci ne modifie pas les informations de profondeur.

Créé le 22 janvier 2006  par LeGreg

Oui. Le fait qu'une carte graphique soit dite « DirectX 7 » (ou n'importe quelle version de DirectX) ne signifie pas qu'elle ne pourra supporter que cette version. Cela signifie qu'elle sera capable d'utiliser les nouvelles fonctionnalités apportées par cette version.

Ainsi, si vous n'utilisez pas de shaders 3.0 ou de formats de pixels en composantes flottantes (par exemple), vous ne devriez pas avoir de problème pour exécuter votre application sur les cartes qui ne sont pas « DirectX 9 ».

Créé le 10 mai 2006  par Laurent Gomila
  

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2005-2012 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.