Microsoft DirectX 8.0 (C++)

IDirect3DDevice8::SetGammaRamp

非明示的なスワップ チェーンのガンマ修正ランプを設定する。

void SetGammaRamp(
  DWORD Flags,
  CONST D3DGAMMARAMP* pRamp
);

パラメータ

Flags
[in] 修正を適用するかどうかを指定する。ガンマ修正を行うといっそう一貫性のある表示が得られるが、処理オーバーヘッドが発生する可能性があるので、頻繁に使用すべきではない。全画面を赤くフラッシュさせるような短時間のエフェクトは調整しない方がよいが、長時間のガンマ変化は調整する必要がある。次のフラグのいずれかを設定できる。
D3DSGR_CALIBRATE
ガンマ口径測定器がインストールされている場合は、システムおよびモニタの応答カーブに合わせて、デバイスに送信される前にランプが調整される。

口径測定器がインストールされていない場合は、ランプはデバイスに直接渡される。

D3DSGR_NO_CALIBRATION
ガンマ修正を適用しない。提供されているガンマ テーブルが、デバイスに直接転送される。
pRamp
[in] D3DGAMMARAMP 構造体へのポインタ。非明示的なスワップ チェーンに設定するガンマ修正ランプを示す。

戻り値

なし。

注意

Microsoft® Direct3D® for Microsoft DirectX 8.0® はデバイスのプロパティとして 1 つのスワップ チェーンを持っているため、各デバイスに対して、常に少なくても 1 つのスワップ チェーン (非明示的なスワップ チェーン) が存在する。

ガンマ ランプはスワップ チェーンのプロパティなので、スワップ チェーンをウィンドウ化するときは、ガンマ ランプを適用できる。

ガンマ ランプは直ちに有効になる。VSYNC の待機は発生しない。

デバイスがスワップ チェーンの現在のプレゼンテーション モード (フルスクリーンまたはウィンドウ) においてガンマ ランプをサポートしていない場合でも、エラーが返ることはない。アプリケーションでは、D3DCAPS8 構造体の Caps2 メンバの D3DCAPS2_FULLSCREENGAMMA 能力ビットおよび D3DCAPS2_CANCALIBRATEGAMMA 能力ビットを調べて、デバイスの能力および口径測定器がインストールされているかどうかを判断できる。

動作環境

  ヘッダー : d3d8.h で宣言。
  インポート ライブラリ : D3d8.lib を使用。

参照

IDirect3DSwapChain8IDirect3DDevice8::GetGammaRamp