Vous connaissez peut-être un membre du forum XDA MichaelEGR, alias Michael Leahy. Michael est connu pour son travail avec OpenGL sur Android. En fait, lors du Big Android BBQ 2014, il a prononcé un discours intitulé "OpenGL ES 3.1 / Pack d'extensions Android". Aujourd'hui, il a donné plus d'informations aux développeurs à utiliser sous la forme d'un Démo du framework sous licence Apache.
L'une des choses que l'on découvre rapidement en tant que développeur est que travailler avec des graphiques peut être, dirons-nous, frustrant. Cela est particulièrement vrai lorsque vos graphiques ressemblent à une vidéo. Bien qu'il existe de nombreuses applications utilisant OpenGL, peu d'entre elles sont ouvertes et les développeurs ne partagent pas non plus leurs propres frameworks d'accélération. Dans ce cas, Michael vous a donné tout ce dont vous avez besoin pour créer une application utilisant la puissance d'OpenGL. Il a également fourni des guides et des entrées wiki pour l'accompagner.
Vous vous demandez peut-être: "Qu'est-ce que cela apporte qu'Android, à lui seul, n'offre pas ?" Eh bien, vous pouvez accéder directement au code et le découvrir, ou vous pouvez l'entendre directement de l'homme lui-même :
La possibilité de charger facilement du code de shader à partir d’actifs est plutôt intéressante. Tout ce qui est vraiment dans AndroidGLESXXUtil simplifie vraiment le travail. La façon dont fonctionne l'API OpenGL est que vous devez transmettre un tableau ou IntBuffer dans les appels de méthode pour interroger et obtenir les valeurs de retour. Tout cela est géré en interne avec la création ThreadLocal, donc c'est également thread-safe.
J'ai réécrit GLSurfaceView -> GLSurfaceView2 en utilisant EGL 1.4 en supprimant toutes les erreurs héritées de ce qui se trouvait dans le SDK Android à partir de la v1.0.
AndroidGLES20Util est un bon exemple. Il existe également des remplacements dans AndroidGLES30Util pour charger plus efficacement les textures et les faire fonctionner correctement avec les shaders de calcul. L'Adreno 420 était très capricieux, mais j'ai trouvé un bon moyen de charger des textures qui fonctionnaient sur le K1 pour le shader de calcul, mais je ne l'ai pas cassé, mais je n'ai pas cassé la prise en charge normale des textures sur le GPU Adreno.
Bien que Michael gère actuellement un kickstarter qui se termine ce soir et qui ne sera probablement pas financé, son objectif principal en partageant ceci est trouver des personnes partageant le même intérêt pour travailler sur ce projet et fournir des normes open source sous licence Apache pour que les développeurs puissent travailler avec. Alors si vous êtes développeur et que vous êtes intéressé par OpenGL sur Android appliqué au cinéma, n'hésitez pas à le contacter. Sinon regarde ça Démo OpenGL projet ainsi que le cadre. N'oubliez pas non plus le wiki!
Si vous souhaitez voir ce que ce cadre peut faire, sans vous mouiller les pieds, allez-y et consultez le démo. Il y a d'autres exemples sur le démarreur, qui s'appuie sur ce cadre. N'oubliez pas non plus de consulter MichaelEGRc'est Message du forum XDA.