Freigeben über


IDirect3DDevice9::SetGammaRamp-Methode (d3d9.h)

Legt die Gammakorrekturrampe für die implizite Swapchain fest. Diese Methode wirkt sich auf den gesamten Bildschirm aus (nicht nur das aktive Fenster, wenn Sie im Fenstermodus ausführen).

Syntax

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

Parameter

[in] iSwapChain

Typ: UINT

Ganze Zahl ohne Vorzeichen, die die Swapchain angibt.

[in] Flags

Typ: DWORD

Gibt an, ob eine Korrektur angewendet werden soll. Die Gammakorrektur führt zu einer konsistenteren Anzeige, kann jedoch einen Verarbeitungsaufwand verursachen und sollte nicht häufig verwendet werden. Effekte mit kurzer Dauer, z. B. das Rot blinken des gesamten Bildschirms, sollten nicht kalibriert werden, aber gamma-Änderungen mit langer Dauer sollten kalibriert werden. Einer der folgenden Werte kann festgelegt werden:

Element BESCHREIBUNG
D3DSGR_CALIBRATE Wenn ein Gammakalibrierungsgerät installiert ist, wird die Rampe geändert, bevor sie an das Gerät gesendet wird, um das System zu berücksichtigen und die Antwortkurven zu überwachen. Wenn kein Kalibrierer installiert ist, wird die Rampe direkt an das Gerät übergeben.
D3DSGR_NO_CALIBRATION Es wird keine Gammakorrektur angewendet. Die bereitgestellte Gammatabelle wird direkt auf das Gerät übertragen.

[in] pRamp

Typ: const D3DGAMMARAMP*

Zeiger auf eine D3DGAMMARAMP-Struktur , die die Gammakorrekturrampe darstellt, die für die implizite Swapchain festgelegt werden soll.

Rückgabewert

Keine

Bemerkungen

Es gibt immer mindestens eine Swapchain (die implizite Swapchain) für jedes Gerät, da Direct3D 9 über eine Swapchain als Eigenschaft des Geräts verfügt. Die Gammarampe wird sofort wirksam; es gibt kein Warten auf eine vertikale Synchronisierung.

Wenn das Gerät keine Gamma-Rampen im aktuellen Präsentationsmodus der Swapchain (Vollbildmodus oder Fenster) unterstützt, wird keine Fehlerrückgabe ausgeführt. Anwendungen können die D3DCAPS2_FULLSCREENGAMMA- und D3DCAPS2_CANCALIBRATEGAMMA-Funktionsbits im Caps2-Element der D3DCAPS9-Struktur überprüfen, um die Funktionen des Geräts zu bestimmen und zu bestimmen, ob ein Kalibror installiert ist.

Verwenden Sie für die Darstellung der Gammakorrektur im Fenster IDirect3DSwapChain9::P resent , wenn die Hardware das Feature unterstützt. In DirectX 8 legt SetGammaRamp die Gammarampe nur für eine Vollbildmodusanwendung fest. Weitere Informationen zur Gammakorrektur finden Sie unter Gamma (Direct3D 9).

Anforderungen

Anforderung Wert
Zielplattform Windows
Kopfzeile d3d9.h (einschließlich D3D9.h)
Bibliothek D3D9.lib

Weitere Informationen

IDirect3DDevice9

IDirect3DDevice9::GetGammaRamp

IDirect3DSwapChain9