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