Microsoft DirectX 8.0 (Visual Basic) |
ガンマ ランプ レベルは効果的な参照テーブルであり、Microsoft®Direct3D® が表示される新しいレベルにフレーム バッファ色成分をマップするために使用する。詳細については、「ガンマ ランプ レベルについて」を参照すること。Direct3DDevice8.SetGammaRamp メソッドおよび Direct3DDevice8.GetGammaRamp メソッドを呼び出すことにより、プライマリ サーフェスに対するランプ レベルを設定し、取得できる。SetGammaRamp は 2 つのパラメータを受け取り、GetGammaRamp は 1 つのパラメータを受け取る。SetGammaRamp の第 1 パラメータは、D3DSGR_CALIBRATE か D3DSGR_NO_CALIBRATION のいずれかである。第 2 パラメータ pRamp は、D3DGAMMARAMP 型を受け取る。D3DGAMMARAMP 型には、DWORD の 256 要素配列を 3 つ (1 つの配列ごとに赤、緑、青のガンマ ランプ) 含む。GetGammaRamp には、現在のガンマ ランプを格納する D3DGAMMARAMP 型を受け取るパラメータが 1 つある。
SetGammaRamp の第 1 パラメータに D3DSGR_CALIBRATE 値を含むと、新しいガンマレベルを設定するときに口径測定器を起動できる。ガンマ ランプをキャリブレーションするといくらかオーバーヘッドがあるので、頻繁には使えない。調整されたガンマ ランプの設定は、ディスプレイ アダプタおよびモニタにかかわらず、一貫性のある完全なガンマ値を提供する。
すべてのシステムがガンマ キャリブレーションをサポートするわけではない。ガンマ キャリブレーションをサポートするかどうかを判定するには、Direct3DDevice8.GetDeviceCaps を呼び出して、メソッドが戻った後に関連付けられた D3DCAPS8 構造体の Caps2 メンバを調べる。D3DCAPS2_CANCALIBRATEGAMMA 能力フラグが存在すると、ガンマ キャリブレーションはサポートされる。
新しいランプ レベルを設定する場合、その配列に設定したレベルはアプリケーションがフルスクリーン (排他モード) の場合にだけ使用される。アプリケーションがノーマル モードに変更されると、常にランプ レベルは側に設定され、アプリケーションがフルスクリーン モードに復帰されるときに再び取得される。