Platform SDK: DirectX |
DirectDraw のガンマ ランプとは、一連の値を記述するために使用する項である。この一連の値は、フレーム バッファのすべてのピクセルに対して、モニタ上のディスプレイに対するデジタル-アナログ コンバータ (DAC) により受け取られる新しいレベルに、特定の色成分 (赤、緑、および青) のレベルをマップする値である。再マッピングは、3 つの単純な参照テーブル (個々の色成分に対して 1 つ) により実行される。
ここではその方法について説明する。DirectDraw はフレーム バッファからピクセルを取得し、その固有の赤、緑、および青の色成分の項でピクセルを取得する。個々のコンポーネントは 0 から 65535 までの値で表される。DirectDraw は元の値を取得し、その値を使用して 256 要素配列 (ランプ) にインデックスを付ける。この配列には、個々の要素を元の要素と置き換える値を含む。DirectDraw では、フレーム バッファ内の各ピクセルの各色成分に対して " 参照と置き換え " のプロセスを実行し、スクリーン上のすべてのピクセルに対する最終的な色を変更する。
ランプ値のグラフを作成すると、視覚化されて容易に理解できる。次に、2 つのグラフを示す。左側のグラフは色がまったく変更されないランプを示し、右側のグラフは負のバイアスを適用する色成分に置くランプを示す。
左側のグラフの配列要素には、それらのインデックスと等しい値 (インデックス 0 には要素 0、およびインデックス 65535 には 255) が含まれる。これらの値が表示される前の入力値は変更できないため、ランプのこのタイプがデフォルトとなる。右側のグラフの方がより興味深い。このランプには、最初の要素の 0 から最後の要素の 32768 までの値が、中間の比較的一様な範囲の値で含まれる。このエフェクトは、このランプを使用する色成分がディスプレイ上で音を消して表示される。線形グラフの利用だけにかぎらない。つまり、アプリケーションで任意のマッピングを割り当てなくてはならない場合にも同様に行える。さらに、入力をすべてゼロに設定すると、ディスプレイから特定の色成分を設定できる。