IDirect3DDevice9::SetGammaRamp
暗黙のスワップ チェーンのガンマ修正ランプを設定します。このメソッドは、ウィンドウ表示モードで実行している場合はアクティブなウィンドウだけではなく、スクリーン全体に対して有効です。
void
SetGammaRamp(
UINT iSwapChain,
DWORD Flags,
CONST D3DGAMMARAMP * pRamp
);
パラメータ
- iSwapChain
スワップ チェーンを指定する符号なし整数です。 - Flags
修正を適用する必要があるかどうかを示します。ガンマ修正を行うことで、表示がより均一化されますが、処理上のオーバーヘッドが発生することがあるため、頻繁に使用しないでください。画面全体が赤く点滅するなどの瞬間的なエフェクトはキャリブレートすべきではありませんが、長時間にわたるガンマ変更はキャリブレートする必要があります。次の値のいずれかを指定できます。- D3DSGR_CALIBRATE
ガンマ キャリブレータをインストールした場合、ランプはシステムおよびモニターの応答曲線に応じてデバイスに送信される前に変更されます。キャリブレータをインストールしない場合、ランプはデバイスに直接送信されます。 - D3DSGR_NO_CALIBRATION
ガンマ修正は適用されません。指定されたガンマ テーブルはデバイスに直接転送されます。
- D3DSGR_CALIBRATE
- pRamp
明示的スワップ チェーンに対して設定されるガンマ修正ランプを表す、D3DGAMMARAMP 構造体へのポインター。
戻り値
値を返しません。
解説
Direct3D 9 にはデバイスのプロパティとして 1 つのスワップ チェーンがあるため、デバイスごとにスワップ チェーン (暗黙的なスワップ チェーン) が常に 1 つ以上は存在します。ガンマ ランプが直ちに有効になり、垂直同期の待機はありません。
デバイスがスワップ チェーンの現在のプレゼンテーション モード (全画面またはウィンドウ表示) でガンマ ランプをサポートしていない場合、エラーは返されません。アプリケーションは、D3DCAPS2_FULLSCREENGAMMA および D3DCAPS2_CANCALIBRATEGAMMA 能力ビットを D3DCAPS9 構造体の Caps2 メンバーで確認し、デバイスの能力、およびキャリブレータがインストールされているかどうかを判別できます。
ウィンドウ表示ガンマ修正プレゼンテーションでは、ハードウェアがその機能に対応している場合、IDirect3DSwapChain9::Present を使用します。DirectX 8 では、SetGammaRamp により全画面表示モード アプリケーションのみでガンマ ランプを設定します。ガンマ修正の詳細については、「ガンマ (Direct3D 9)」を参照してください。
要件
ヘッダー: D3D9.h 宣言
ライブラリ: D3D9.lib 内容