ホーム > DirectX Graphics > ガンマコントロール

ガンマコントロール

目次

  1. ガンマコントロールとは
  2. ガンマランプの設定
  3. ガンマランプの取得
  4. サンプル

ガンマコントロールとは

ガンマコントロールとは、ガンマランプを変更・設定し画面全体の明るさを変更することです。これにより、フェードイン、フェードアウト等の効果を表現することができます。

ガンマランプの設定

ガンマランプの設定には下記の関数を使用します。第1引数にはスワップチェーン、第2引数にはガンマ補正を行うかどうか、第3引数には設定するD3DGAMMARAMP構造体へのポインタ、を指定する。

static g_nGammaCount=0;

// ガンマランプの設定
D3DGAMMARAMP ramp;
if( g_nGammaCount < 256 )
{
  for( INT i=0 ; i<256 ; i++ )
  {
    ramp.red[i]   = g_nGammaCount * i;
    ramp.green[i] = g_nGammaCount * i;
    ramp.blue[i]  = g_nGammaCount * i;
  }
}
g_lpD3DDevice->SetGammaRamp( 0, D3DSGR_CALIBRATE, &ramp );

ガンマランプの取得

ガンマランプの取得には下記の関数を使用します。第1引数にはスワップチェーン、第2引数にはガンマランプを格納するD3DGAMMARAMP構造体へのポインタ、を指定する。

D3DGAMMARAMP ramp;
g_lpD3DDevice->GetGammaRamp( 0, &ramp );

サンプル

使い方がよく分からないと思いますので、使用例のソースを置いておきます。



Last Update 2006/11/24.
Copyright © 2002-2004 Toru All Rights Reserved.
inserted by FC2 system