Présentation d’une scène (Direct3D 9)

Les API de présentation sont un ensemble de méthodes qui contrôlent l’état de l’appareil qui affecte ce que l’utilisateur voit sur le moniteur. Ces méthodes incluent la définition des modes d’affichage et des méthodes une fois par image utilisées pour présenter des images à l’utilisateur.

Il est nécessaire de connaître les termes suivants pour comprendre les API de présentation.

  • mémoire tampon avant. Rectangle de mémoire qui est traduit par la carte graphique et affiché sur le moniteur ou un autre périphérique de sortie.
  • mémoire tampon d’arrière-mémoire. Surface dont le contenu peut être promu en mémoire tampon avant.
  • permutation de la chaîne. Collection de mémoires tampons d’arrière-plan qui peuvent être présentées en série à la mémoire tampon avant. En règle générale, une chaîne de permutation en plein écran présente les images suivantes avec l’interface de pilote de périphérique de basculement (DDI) et une chaîne d’échange fenêtré présente des images avec le DDI blitting.

Étant donné que Direct3D 9 a une chaîne d’échange en tant que propriété de l’appareil, il existe toujours au moins une chaîne d’échange par appareil. L’interface IDirect3DDevice9 a un ensemble de méthodes qui manipulent la chaîne d’échange implicite et sont une copie de la propre interface de la chaîne d’échange. Les applications peuvent créer des chaînes d’échange supplémentaires ; Toutefois, cela n’est pas nécessaire pour la fenêtre unique ou l’application plein écran classique.

La mémoire tampon avant n’est pas directement exposée dans Direct3D 9. Par conséquent, les applications ne peuvent pas verrouiller ou afficher dans la mémoire tampon avant. Pour plus d’informations, consultez Accès à la mémoire tampon avant de couleur (Direct3D 9).

Notes

DirectX 7 a fourni un certain nombre d’API de présentation qui ont été appelées ensemble. La séquence IDirectDraw7::SetCooperativeLevel, IDirectDraw7::SetDisplayMode et IDirectDraw7::CreateSurface en est un bon exemple. En outre, les méthodes IDirectDrawSurface7::Flip et IDirectDrawSurface7::Blt signalaient le transport des images rendues vers le moniteur. Direct3D 9 réduit ces groupes d’API en deux méthodes main, Reset et Present. Réinitialisez les sous-ensembles SetCooperativeLevel, SetDisplayMode, CreateSurface et certains paramètres à retourner. Les sous-ensembles présents retournent et la présentation utilise blit.

 

Un appel à IDirect3D9::CreateDevice représente une réinitialisation implicite de l’appareil. L’API Direct3D 9 n’a aucune notion de surface primaire ; vous ne pouvez pas créer un objet qui représente la surface primaire. Il est considéré comme une propriété interne de l’appareil.

Les rampes gamma sont associées à une chaîne d’échange et sont manipulées avec les méthodes IDirect3DDevice9::GetGammaRamp et IDirect3DDevice9::SetGammaRamp .

Présentation d’une scène