1
在android中,在視圖上使用alpha混合時,視圖被渲染爲一個opengl紋理,然後紋理渲染到具有alpha值的幀緩衝區中......我想知道他們爲什麼這麼做,並不少昂貴的只是直接用alpha值渲染視圖到目標緩衝區中?還是有什麼我在這裏失蹤?爲什麼谷歌Android做昂貴的alpha混合?
在android中,在視圖上使用alpha混合時,視圖被渲染爲一個opengl紋理,然後紋理渲染到具有alpha值的幀緩衝區中......我想知道他們爲什麼這麼做,並不少昂貴的只是直接用alpha值渲染視圖到目標緩衝區中?還是有什麼我在這裏失蹤?爲什麼谷歌Android做昂貴的alpha混合?
你錯過的東西必須做混合得到最終的顏色,這有3個選項:
如果您想知道爲什麼不直接訪問framebuffer,渲染紋理的原因是與目標alpha相關,即將存儲在紋理中的alpha值。這將在視圖的透明部分下面存在的情況下存在。您建議的優化只能在視圖保證不透明的情況下使用。