SurfaceTexture

SurfaceTexture從android 3.0(API level 11)加入。和SurfaceView不同的時,它對圖像流的處理並不直接顯示,而是轉爲GL外部紋理,因此可用於圖像流數據的二次處理(如Camera濾鏡,桌面特效等)。比如Camera的預覽數據,變成紋理後可以交給GLSurfaceView直接顯示,也可以通過SurfaceTexture交給TextureView作爲View heirachy中的一個硬件加速層來顯示。
首先,SurfaceTexture從圖像流(來自Camera預覽,視頻解碼,GL繪製場景等)中獲得幀數據,當調用updateTexImage()時,根據內容流中最近的圖像更新SurfaceTexture對應的GL紋理對象,接下來,就可以像操作普通GL紋理一樣操作它了。
在這裏插入圖片描述