Du kender måske XDA Forum-medlem MichaelEGR, a.k.a. Michael Leahy. Michael er kendt for sit arbejde med OpenGL på Android. Faktisk holdt han ved Big Android BBQ 2014 en tale med titlen "OpenGL ES 3.1 / Android Extensions Pack". I dag har han givet mere information, som udviklere kan bruge i form af en apache licenseret framework demo.
En af de ting, man hurtigt finder ud af som udvikler, er, at arbejdet med grafik kan være, skal vi sige, frustrerende. Dette gælder især, når din grafik ligner en video. Selvom der er en del apps, der bruger OpenGL, er der ikke for mange af dem, der er åbne, og udviklerne deler heller ikke deres egne accelerationsrammer. I dette tilfælde har Michael givet dig alt, hvad du behøver for at bygge en app, der udnytter kraften i OpenGL. Han har også leveret vejledninger og wiki-indlæg til at følge med.
Du spørger måske dig selv: "Hvad giver dette, som Android i sig selv ikke gør?" Nå, du kan gå direkte ind i koden og finde ud af det, eller du kan høre det direkte fra manden selv:
Evnen til nemt at indlæse shader-kode fra aktiver er ret god. Alt virkelig i AndroidGLESXXUtil fjerner virkelig det tunge løft. Måden OpenGL API fungerer på er, at du skal sende et array eller IntBuffer ind i metodekaldene for at forespørge og få returværdier. Alt dette styres internt med ThreadLocal-oprettelse, så det er også trådsikkert.
Jeg omskrev GLSurfaceView -> GLSurfaceView2 ved hjælp af EGL 1.4 og fjernede al den gamle cruft fra det, der har været i Android SDK fra v1.0
AndroidGLES20Util er et godt eksempel. Der er også tilsidesættelse i AndroidGLES30Util for mere effektivt at indlæse teksturer og få dem til at fungere korrekt med compute shaders. Adreno 420 var meget kræsen, men jeg fandt en god måde at indlæse teksturer på, der fungerede på K1 til compute shader, men som ikke brød den, men ikke brød den normale teksturunderstøttelse på Adreno GPU'en.
Mens Michael i øjeblikket kører en kickstarter, som lukker i aften, og sandsynligvis ikke vil blive finansieret, er hans primære mål med at dele dette at finde personer med lignende interesse i at arbejde på dette projekt og levere open source Apache-licenserede standarder, så udviklere kan arbejde med. Så hvis du er en udvikler, og du er interesseret i OpenGL på Android, når det anvendes på film, er du velkommen til at kontakte ham. Ellers tjek dette OpenGL demo projekt samt rammerne. Glem heller ikke wikien!
Hvis du gerne vil se, hvad denne ramme kan gøre, uden at få dine fødder våde, så gå videre og se demo. Der er flere eksempler på kickstarter, som bygger på denne ramme. Glem heller ikke at tjekke ud MichaelEGR's XDA-Forum indlæg.