係2D游戲位圖愛蒞做動畫, 要過濾『背景色』, 係Android OpenGL ES用alpha屏蔽『背景色』, 壹法位圖『A分量』Alpha = 0, 貳法黑色定為『背景色』係載入時將『A分量』Alpha = 0. 所以兩法要係『GL_RGBA』模式運運作.
RGBA8888位圖,RGB占24bit, Alpha 值A占8bit, 透明度範圍『0~255』. 『0』通透.『 255』實體.
設Alpha值 |
通透 |
實體 |
glAlphaFunc() |
0.0 |
1.0 |
glAlphaFuncx() |
0 |
255 |
若位圖冇Alpha 值, OpenGL ES 係載入時將Alpha值設1.
BGRA8888/ARGB8888 |
Alpha = 0 |
RGB656,RGB888,index |
R=0,G=0,B=0, 黑色 |
- 載入纹理圖形卡『RAM』, 設GL_RGBA模式
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width , height , 0, GL_RGBA, GL_UNSIGNED_BYTE, image); |
- 啓用透明測試
- 設Alpha值過濾透明色
glAlphaFunc(GL_GREATER, 0); |
glAlphaFuncx(GL_GREATER, 0); |