glAccum 関数
glAccum 関数は、累積バッファーに対して動作します。
構文
void WINAPI glAccum(
GLenum op,
GLfloat value
);
パラメーター
-
op
-
累積バッファー操作。 受け入れられるシンボリック定数は次のとおりです。
値 説明 - GL_ACCUM
現在読み取り用に選択されているバッファーから R、G、B、A の値を取得します ( glReadBuffer を参照)。 各コンポーネント値は 2n 1 で除算されます。 n は、現在選択されているバッファー内の各色コンポーネントに割り当てられたビット数です。 その結果、範囲 [0,1] の浮動小数点値が 乗算され、 累積バッファー内の対応するピクセル 成分に加算され、累積バッファーが更新されます。 - GL_LOAD
GL_ACCUMと同様に、累積バッファー内の現在の値が新しい値の計算に使用されないことを除きます。 すなわち、現在選択されているバッファからのR、G、B、およびA値を2n1 で除算し、 値を掛けて、対応する蓄積バッファセルに格納し、現在の値を上書きする。 - GL_ADD
累積バッファー内の各 R、G、B、および A に 値 を加算します。 - GL_MULT
累積バッファー内の各 R、G、B、A を 値 で乗算し、スケーリングされたコンポーネントを対応する累積バッファー位置に返します。 - GL_RETURN
累積バッファー値を、現在書き込み用に選択されているカラー バッファーまたはバッファーに転送します。 各R、G、B、およびA成分に 値を乗算し、次いで2n1 を乗算し、範囲[0,2n1 ]にクランプし、対応する表示バッファセルに格納する。 この転送に適用されるフラグメント操作は、ピクセル所有権、ハサミ、ディザリング、カラー ライトマスクのみです。 -
value
-
累積バッファー操作で使用される浮動小数点値。 op パラメーターは、値の使用方法を決定します。
戻り値
この関数は値を返しません。
エラー コード
glGetError 関数では、次のエラー コードを取得できます。
名前 | 意味 |
---|---|
|
op は受け入れられた値ではありません。 |
|
glBegin の呼び出しと glEnd の対応する呼び出しの間に、累積バッファーがなかったか、関数 glAccum が呼び出されました。 |
解説
累積バッファーは、拡張範囲のカラー バッファーです。 イメージはレンダリングされません。 代わりに、カラー バッファーのいずれかにレンダリングされたイメージは、レンダリング後に累積バッファーの内容に追加されます。 さまざまな変換マトリックスで生成された画像を蓄積することで、アンチエイリアシング (ポイント、線、ポリゴン)、モーション ブラー、被写界深度などの効果を作成できます。
累積バッファー内の各ピクセルは、赤、緑、青、アルファ値で構成されます。 累積バッファー内のコンポーネントあたりのビット数は、実装によって異なります。 この番号を調べるには、 glGetIntegerv を 4 回呼び出し、それぞれ引数GL_ACCUM_RED_BITS、GL_ACCUM_GREEN_BITS、GL_ACCUM_BLUE_BITS、GL_ACCUM_ALPHA_BITSを指定します。 ただし、コンポーネントごとのビット数に関係なく、各コンポーネントによって格納される値の範囲は [1,?1] です。 累積バッファー ピクセルは、フレームバッファー ピクセルと 1 対 1 でマップされます。
glAccum 関数は、累積バッファーに対して動作します。 最初の引数 op は、累積バッファー操作を選択するシンボリック定数です。 2 番目の引数 value は、その操作で使用される浮動小数点値です。 GL_ACCUM、GL_LOAD、GL_ADD、GL_MULT、GL_RETURNの 5 つの操作が指定されます。
すべての蓄積バッファー操作は、現在のハサミボックスの領域に限定され、各ピクセルの赤、緑、青、およびアルファ成分と同一に適用されます。 glAccum 演算の結果が [1,1] の範囲外の値になる場合、累積バッファー ピクセル コンポーネントの内容は未定義です。
累積バッファーをクリアするには、 glClearAccum 関数を使用して R、G、B、A の値を指定して設定し、累積バッファーを有効にして glClear 関数を発行します。
glAccum 操作によって更新されるのは、現在のシザー ボックス内のピクセルのみです。
次の関数は 、glAccum 関数に関連する情報を取得します。
引数GL_ACCUM_RED_BITSを含む glGet
引数GL_ACCUM_GREEN_BITSを含む glGet
引数GL_ACCUM_BLUE_BITSを含む glGet
引数GL_ACCUM_ALPHA_BITSを含む glGet
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント |
Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー |
Windows 2000 Server [デスクトップ アプリのみ] |
ヘッダー |
|
ライブラリ |
|
[DLL] |
|