ホームに戻る
 アキュムレーション バッファ

図08_00:左から 3/3、2/3、1/3 の累積がされた三角形

ソースコード:glut08_accum.c
 解説

アキュムレーションとは「累積」を意味します。
描画結果をバッファに薄く積み重ねることなどが可能で、
主な用途にはアンチエイリアスやモーションブラーがあります。

バッファの情報は純粋に色情報の RGBA です。
各要素は 0.0 から 1.0 までの情報を持っていますが、
この情報に対して足し算や掛け算ができる方法だと考えるとわかりやすい。

初期化は GLUT にて、
glutInitDisplayMode で GLUT_ACCUM のビットをたてる。

glClear にて GL_ACCUM_BUFFER_BIT を指定してクリア。
クリアする場合の初期値は glClearAccum で設定。

具体的には glAccum の第1引数で用途を指定、
第2引数が用途の為の数値となります。

GL_ACCUM:ACCUM_BUFFER に COLOR_BUFFER の結果を第2引数の比率で足し算する
GL_LOAD:ACCUM_BUFFER に COLOR_BUFFER の結果を第2引数の比率で読み込む(いままでのものは捨てる)
GL_ADD:ACCUM_BUFFER の各要素に第2引数を足し算する
GL_MULT:ACCUM_BUFFER の各要素に第2引数を掛け算する
GL_RETURN:第2引数の比率で ACCUM_BUFFER の結果を COLOR_BUFFER に返す

inserted by FC2 system