Michael Leahy Releases OpenGL ES 3.0/3.1 Frameworks
You may know XDA Forum Member MichaelEGR, a.k.a. Michael Leahy. Michael is known for his work with OpenGL on Android. In fact, at the Big Android BBQ 2014, He gave a speech entitled “OpenGL ES 3.1 / Android Extensions Pack“. Today he has given more information for developers to use in the form of an apache licensed framework demo.
One of the things you find out quickly as a developer is that working with graphics can be, shall we say, frustrating. This is especially true when your graphics are something like a video. While there are quite a few apps using OpenGL, not too many of them are open, nor do the developers share their own acceleration frameworks. In this case, Michael has given you everything you need to build an app utilizing the power of OpenGL. He’s also provided guides and wiki entries to go along with it.
You may be asking yourself, “What does this provide that Android, on it’s own, does not?” Well, you can go directly into the code and find out, or you can hear it directly from the man himself:
The ability to easily load shader code from assets is rather nice. Anything really in AndroidGLESXXUtil really takes the heavy lifting off. The way the OpenGL API works is that you have to pass an array or IntBuffer into the method calls to query and get return values. All of that is managed internally with ThreadLocal creation, so it’s thread safe too.
I rewrote GLSurfaceView -> GLSurfaceView2 using EGL 1.4 removing all the legacy cruft from what has been in Android SDK from v1.0
AndroidGLES20Util is a good example. Also there are override in AndroidGLES30Util to more efficiently load textures and properly make them work with compute shaders. The Adreno 420 was very finicky, but I found a good way of loading textures that worked on the K1 for compute shader, but didn’t break it, but didn’t break normal texture support on the Adreno GPU.
While Michael is currently running a kickstarter which closes tonight, and likely will not be funded, his primary goal in sharing this is to find people with similar interest in working on this project and provide open-source Apache-Licensed standards for developers to work with. So if you’re a developer and you’re interested in OpenGL on Android when applied to motion pictures, feel free to contact him. Otherwise, check out this OpenGL demo project as well as the framework. Also, don’t forget the wiki!
If you’d like to see what this framework can do, without getting your feet wet, go ahead and check out the demo. There are more examples on the kickstarter, which relies upon this framework. Also, don’t forget to check out MichaelEGR‘s XDA-Forum post.