glAccum 関数はアキュムレーションバッファに対して操作を行う。
glAccum op, value
op : [int] アキュムレーションバッファの操作。以下のシンボル定数を受け付ける。GL_ACCUM: 現在読み取り対象として選択されているバッファから R、G、B、A の値を取得する (glReadBuffer 参照)。各成分値を 2^n-1 で除算し (n は現在選択中のバッファで各色成分に割り当てられたビット数)、得られた [0,1] 範囲の浮動小数点値を value で乗算してアキュムレーションバッファの対応ピクセル成分に加算する。GL_LOAD: GL_ACCUM と同様だが、アキュムレーションバッファの現在値を計算に使用しない。すなわち現在選択中のバッファからの値を 2^n-1 で除算し value を乗じて対応するセルに格納し、現在値を上書きする。GL_ADD: アキュムレーションバッファ内の各 R、G、B、A に value を加算する。GL_MULT: 各 R、G、B、A に value を乗算し、スケール後の値を対応する場所に戻す。GL_RETURN: アキュムレーションバッファの値を現在書き込み対象のカラーバッファに転送する。各成分に value を乗算し、さらに 2^n-1 を乗算して [0, 2^n-1] にクランプし対応するディスプレイバッファセルに格納する。この転送時に適用されるフラグメント操作は、ピクセル所有権、シザー、ディザリング、カラー書き込みマスクのみである。 value : [float] アキュムレーションバッファ操作に使用する浮動小数点値。op パラメータが value の使われ方を決定する。
(プラグイン / モジュール : opengl32.dll)
glAccum 関数はアキュムレーションバッファに対して操作を行う。 [戻り値] この関数は値を返さない。 [備考] アキュムレーションバッファは拡張レンジのカラーバッファである。直接画像をレンダリングするのではなく、カラーバッファにレンダリングされた画像を描画後にアキュムレーションバッファの内容に加算する。異なる変換行列で生成した画像を累積することで、アンチエイリアシング (点・線・ポリゴン)、モーションブラー、被写界深度などの効果を作れる。各ピクセルは R、G、B、A 値から成る。1 成分あたりのビット数は実装依存で、glGetIntegerv を GL_ACCUM_RED_BITS / GREEN / BLUE / ALPHA_BITS で呼び出して取得できる。ビット数によらず、各成分の値範囲は [-1, 1] である。アキュムレーションバッファのピクセルはフレームバッファのピクセルと 1 対 1 で対応する。第 1 引数 op は操作を選択するシンボル定数、第 2 引数 value はその操作で使用する浮動小数点値である。操作は GL_ACCUM、GL_LOAD、GL_ADD、GL_MULT、GL_RETURN の 5 種類。全ての操作は現在のシザー領域に制限され、各ピクセルの R、G、B、A に同じく適用される。操作結果が [-1, 1] の範囲外となった場合、ピクセル成分の内容は未定義である。アキュムレーションバッファをクリアするには glClearAccum で R、G、B、A 値を指定し、glClear をアキュムレーションバッファ有効で実行する。関連情報は glGet (GL_ACCUM_*_BITS) で取得できる。
| プラグイン / モジュール | opengl32.dll |
| バージョン | 1.0 |
| 作成日 | 2026/04/16 |
| 著作者 | IronHSP / CsWin32 bridge |
| URL | https://github.com/inovia/IronHSP |
| 備考 | Win32 API の opengl32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。 |
| タイプ | 拡張命令 |
| グループ | Win32API |
| 対応環境 |
|
| hs ファイル | hsphelp\win32_opengl32_gen2.hs |