Partager via


Méthode IDirect3DDevice9 ::SetGammaRamp (d3d9helper.h)

Définit la rampe de correction gamma pour la chaîne d’échange implicite. Cette méthode affecte l’ensemble de l’écran (pas seulement la fenêtre active si vous exécutez en mode fenêtré).

Syntaxe

void SetGammaRamp(
  [in] UINT               iSwapChain,
  [in] DWORD              Flags,
  [in] const D3DGAMMARAMP *pRamp
);

Paramètres

[in] iSwapChain

Type : UINT

Entier non signé spécifiant la chaîne d’échange.

[in] Flags

Type : DWORD

Indique si la correction doit être appliquée. La correction gamma entraîne un affichage plus cohérent, mais peut entraîner une surcharge de traitement et ne doit pas être utilisée fréquemment. Les effets de courte durée, tels que le clignotement de l’écran entier en rouge, ne doivent pas être étalonnés, mais les changements gamma de longue durée doivent être étalonnés. L’une des valeurs suivantes peut être définie :

Élément Description
D3DSGR_CALIBRATE Si un étalonneur gamma est installé, la rampe est modifiée avant d’être envoyée à l’appareil pour tenir compte du système et surveiller les courbes de réponse. Si aucun étalonneur n’est installé, la rampe est transmise directement à l’appareil.
D3DSGR_NO_CALIBRATION Aucune correction gamma n’est appliquée. La table gamma fournie est transférée directement vers l’appareil.

[in] pRamp

Type : const D3DGAMMARAMP*

Pointeur vers une structure D3DGAMMARAMP , représentant la rampe de correction gamma à définir pour la chaîne d’échange implicite.

Valeur de retour

None

Remarques

Il existe toujours au moins une chaîne d’échange (chaîne d’échange implicite) pour chaque appareil, car Direct3D 9 a une chaîne d’échange en tant que propriété de l’appareil. La rampe gamma prend effet immédiatement ; il n’y a pas d’attente pour une synchronisation verticale.

Si l’appareil ne prend pas en charge les rampes gamma dans le mode de présentation actuel de la chaîne d’échange (plein écran ou fenêtré), aucun retour d’erreur n’est fourni. Les applications peuvent case activée les bits de capacité D3DCAPS2_FULLSCREENGAMMA et D3DCAPS2_CANCALIBRATEGAMMA dans le membre Caps2 de la structure D3DCAPS9 pour déterminer les fonctionnalités de l’appareil et déterminer si un étalonneur est installé.

Pour une présentation de correction gamma fenêtrée, utilisez IDirect3DSwapChain9 ::P resent si le matériel prend en charge la fonctionnalité. Dans DirectX 8, SetGammaRamp définit la rampe gamma uniquement sur une application en mode plein écran. Pour plus d’informations sur la correction gamma, consultez Gamma (Direct3D 9).

Configuration requise

Condition requise Valeur
Plateforme cible Windows
En-tête d3d9helper.h (incluez D3D9.h)
Bibliothèque D3D9.lib

Voir aussi

IDirect3DDevice9

IDirect3DDevice9 ::GetGammaRamp

IDirect3DSwapChain9