Drowsy Dog's Diary

any note, any thought

2014年1月31日
by kazoo
0 comments

glReadPixels()の alpha の値

めもん。

GLUTとOpenGLで描画したとある領域を glReadPixels() してフレームをキャプチャする。
データはRGBAで、透明をちゃんと読み出したいのだけど、なんか環境によってアルファの値がすべて FF になっていることがあった。

ごく単純に

だけやっても、α=0なのでキャプチャ結果は真っ黒を期待しているんだけど、実行環境によって青になったりする。

RGBA を指定しているのになんでだー?と、思ったら。

glutInitDisplayMode

GLUT_RGBA
Bit mask to select an RGBA mode window. This is the default if neither GLUT_RGBA nor GLUT_INDEX are specified.

GLUT_RGB
An alias for GLUT_RGBA.

おお。GLUT_RGB と GLUT_RGBA って同じものだったのか。。

ということで、

とするのが正解だったらしい。