Introduction à DirectDraw :

       Il fournit des animations non saccadées utilisant le basculement de page (page flipping), l'accès aux coprocesseurs graphiques spécialisés et la gestion mémoire pour l'affichage.

       C’est un moteur graphique optimisé pour permettre aux développeurs de jeux d’obtenir les mêmes performances graphiques sous Windows que sous DOS, tout en standardisant les appels aux services.

       Deux couches de fonctions ont été définies, HAL (Hardware Abstraction Layer) et HEL (Hardware Emulation Layer). La première fournit l’interface de plus bas niveau avec le matériel (accélérateur graphique) en masquant la spécificité de chaque carte graphique sous une API standard. La couche HAL est en principe écrite par le fabricant de la carte et fournie avec. Au cas où une fonction de base ne serait pas "câblée", elle est alors émulée par la couche HEL. Ainsi, au niveau supérieur, l’application peut compter sur une bibliothèque de services graphiques de base, câblés ou émulés, dont l’accès est unifié.

       DirectDraw fournit aux applications des services de base comme la manipulation de bitmaps (affichage, redimensionnement, conversion des couleurs, masquage, transparence, etc.), la gestion des plans graphiques et des palettes de couleurs (notamment l’émulation 24 bits pour les cartes qui ne le supportent pas en natif). Les performances graphiques sont obtenues en préparant en mémoire hors écran les images à afficher et en transférant le tout d’un bloc à l’écran. Le programme peut construire une nouvelle image (en plaçant des sprites sur un fond par exemple) dans le même temps que l’image précédente est en cours d’affichage.

       DirectDraw sert de base à des composants de Windows utilisant intensément le dessin, tels que DirectShow et Direct3D.

Objets DirectDraw :

       DirectDraw vous fournit un certain nombre d'objets qui vous permettent de contrôler l'affichage.

Objet Fonction
DirectDraw L'objet DirectDraw permet de modifier le mode vidéo, de détecter les capacités vidéo, de contrôler l'utilisation de la mémoire et de gérer les objets enfant.
DirectDrawSurface C'est l'objet fondamental de DirecDraw. Il vous donne tout ce dont vous avez besoin pour faire des animations non saccadées, pour utiliser des overlays graphiques et pour accéder aux fonctionnalités du GDI.
DirectDrawPalette Cet objet permet de gérer les couleurs pour les modes d'affichage palettisé.
DirectDrawClipper Cet objet vous permet de créer des applications DirectDraw qui tournent dans une fenêtre sur l'écran de l'utilisateur.