2
使用GL ES 2可以使用Android的Vertex Array Objects ES擴展嗎?使用GL ES 2可以使用Android的Vertex Array Objects ES擴展嗎?
我期望在名爲GLES20Ext
的類中找到VAO函數,就像我可以在GLES10Ext
中找到ES 1擴展一樣,但我不能。
是否可以使用Android的Java GL ES 2綁定中的VAO?
如果不是,使用GLES2中最簡單的方法是使用NDK橋接擴展調用?這種綁定是否已經存在?
要求ES 3或ES 3支持尚未廣泛使用是否可行?
理論上,這應該是可以從NDK(給定Android API級別9 - 2.3+)實現的。問題是EGL的實際Java綁定很糟糕 - 它們隱藏了'eglGetProcAddress(...)'這是暴露任何供應商擴展或任何Android GLES2.0綁定發生的事情所必需的是很多)。你需要做的是在受支持的擴展列表中查找「GL_OES_vertex_array_object」,然後使用NDK獲取過程地址......您可以使用Java來調用它,這樣做。 –
簡單地返回一個函數指針到Java代碼並沒有讓你走得很遠 - 你仍然需要編組參數,拋出異常,並完成(自動生成的)函數包裝器所做的所有其他工作。動態生成字節碼是一種選擇,但在Android上並不簡單。使用NDK組件支持任意擴展更容易(也可能更高效)。 (如果你知道一個聰明的方法,AOSP總是會歡迎高質量的補丁。) – fadden