Sie kennen vielleicht das XDA-Forummitglied MichaelEGR, alias Michael Leahy. Michael ist bekannt für seine Arbeit mit OpenGL auf Android. Tatsächlich hielt er beim Big Android BBQ 2014 eine Rede mit dem Titel „OpenGL ES 3.1 / Android-Erweiterungspaket". Heute hat er den Entwicklern weitere Informationen in Form eines bereitgestellt Apache-lizenzierte Framework-Demo.
Eines der Dinge, die man als Entwickler schnell merkt, ist, dass die Arbeit mit Grafiken, sagen wir mal, frustrierend sein kann. Dies gilt insbesondere dann, wenn Ihre Grafiken so etwas wie ein Video sind. Es gibt zwar eine ganze Reihe von Apps, die OpenGL verwenden, aber nicht allzu viele davon sind offen, und die Entwickler teilen auch nicht ihre eigenen Beschleunigungs-Frameworks. In diesem Fall hat Michael Ihnen alles gegeben, was Sie brauchen, um eine App zu erstellen, die die Leistungsfähigkeit von OpenGL nutzt. Er hat auch Leitfäden und Wiki-Einträge dazu bereitgestellt.
Sie fragen sich vielleicht: „Was bietet das, was Android allein nicht bietet?“ Nun, Sie können direkt in den Code gehen und es herausfinden, oder Sie können es direkt vom Mann selbst hören:
Die Möglichkeit, Shader-Code einfach aus Assets zu laden, ist ziemlich nett. Alles, was wirklich in AndroidGLESXXUtil enthalten ist, nimmt Ihnen wirklich die schwere Arbeit ab. Die Funktionsweise der OpenGL-API besteht darin, dass Sie ein Array oder einen IntBuffer an die Methodenaufrufe übergeben müssen, um Abfragen durchzuführen und Rückgabewerte zu erhalten. All dies wird intern mit der ThreadLocal-Erstellung verwaltet, sodass es auch Thread-sicher ist.
Ich habe GLSurfaceView -> GLSurfaceView2 mit EGL 1.4 umgeschrieben und den gesamten Altkraft aus dem Android SDK von Version 1.0 entfernt
AndroidGLES20Util ist ein gutes Beispiel. Außerdem gibt es in AndroidGLES30Util Überschreibungen, um Texturen effizienter zu laden und dafür zu sorgen, dass sie ordnungsgemäß mit Computer-Shadern funktionieren. Der Adreno 420 war sehr wählerisch, aber ich habe eine gute Möglichkeit gefunden, Texturen zu laden, die auf dem K1 für Compute-Shader funktionierte, ihn aber nicht beeinträchtigte, aber die normale Texturunterstützung auf der Adreno-GPU nicht beeinträchtigte.
Während Michael derzeit einen Kickstarter durchführt, der heute Abend endet und wahrscheinlich nicht finanziert wird, ist es sein vorrangiges Ziel, dies zu teilen um Menschen mit ähnlichem Interesse an der Arbeit an diesem Projekt zu finden und Open-Source-Apache-lizenzierte Standards für Entwickler bereitzustellen mit. Wenn Sie also Entwickler sind und sich für die Anwendung von OpenGL auf Android auf Filme interessieren, können Sie sich gerne an ihn wenden. Ansonsten schauen Sie sich das hier an OpenGL-Demo Projekt sowie der Rahmen. Vergessen Sie es auch nicht das Wiki!
Wenn Sie sehen möchten, was dieses Framework leisten kann, ohne nasse Füße zu bekommen, schauen Sie sich das an Demo. Weitere Beispiele gibt es auf der Kickstarter, das auf diesem Rahmen basiert. Vergessen Sie auch nicht, vorbeizuschauen MichaelEGR'S XDA-Forumsbeitrag.