Android Studio NDK-OpenGL ES 透明glAlphaFunc()

Android Studio NDK-OpenGL ES 透明glAlphaFunc()
Android Studio NDK-OpenGL ES 透明glAlphaFunc()

係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, 黑色
  1.  載入纹理圖形卡『RAM』, 設GL_RGBA模式
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width , height , 0, GL_RGBA, GL_UNSIGNED_BYTE,  image);
  1. 啓用透明測試
glEnable(GL_ALPHA_TEST);
  1. 設Alpha值過濾透明色
glAlphaFunc(GL_GREATER, 0);
glAlphaFuncx(GL_GREATER, 0);

 

評論