0
我發現約圖形堆棧Android的一些資料,看到這樣的畫面: Android的圖形堆棧
但我無法理解,爲什麼在兩次使用的OpenGL?在SurfaceFlinger之後只能使用openGl一次嗎? EGL庫執行後,在這張圖片中有什麼?
我發現約圖形堆棧Android的一些資料,看到這樣的畫面: Android的圖形堆棧
但我無法理解,爲什麼在兩次使用的OpenGL?在SurfaceFlinger之後只能使用openGl一次嗎? EGL庫執行後,在這張圖片中有什麼?
OpenGLES可用於繪製當前系統中的2D和3D形狀。在您展示的圖片中,在應用程序堆棧中,GL可用於通過應用程序呈現對象。說,這個輸出到緩衝區「B」。可以有很多這樣的應用程序,所以它們都創建緩衝區,比如B1,B2,B3。現在,需要一些框架,它負責決定在顯示屏上顯示哪些緩衝區,或顯示哪些緩衝區組合。這通常被稱爲「合成器」。在合成器中,GL再次用於顯示內容。
因此,GL可以在應用程序和合成器中使用,這就是上面的堆棧所示。
EGL是一個API接口(來自Khronos,如OpenGL,OpenGLES),用於連接窗口系統,在這種情況下是Android窗口系統。它創建應用程序可以繪製的緩衝區B1,B2等,以及最終的顯示緩衝區。
因此,EGL創建/管理緩衝區/顯示,GL是獨立於平臺的API,負責2D/3D繪圖。希望這可以幫助。