次の方法で共有


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 関数では、次のエラー コードを取得できます。

名前 意味
GL_INVALID_ENUM
op は受け入れられた値ではありません。
GL_INVALID_OPERATION
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 [デスクトップ アプリのみ]
ヘッダー
Gl.h
ライブラリ
Opengl32.lib
[DLL]
Opengl32.dll

関連項目

glBegin

glBlendFunc

glClear

glClearAccum

glCopyPixels

glEnd

glGet

glLogicOp

glPixelStore

glPixelTransfer

glReadBuffer

glReadPixels

glScissor

glStencilOp