Du kjenner kanskje XDA Forum-medlem MichaelEGR, a.k.a. Michael Leahy. Michael er kjent for sitt arbeid med OpenGL på Android. Faktisk, på Big Android BBQ 2014, holdt han en tale med tittelen "OpenGL ES 3.1 / Android Extensions Pack". I dag har han gitt mer informasjon for utviklere å bruke i form av en apache-lisensiert rammedemo.
Noe av det du raskt finner ut som utvikler er at det å jobbe med grafikk kan være, skal vi si, frustrerende. Dette gjelder spesielt når grafikken din er noe som en video. Selv om det er ganske mange apper som bruker OpenGL, er det ikke så mange av dem som er åpne, og utviklerne deler heller ikke sine egne akselerasjonsrammer. I dette tilfellet har Michael gitt deg alt du trenger for å bygge en app som bruker kraften til OpenGL. Han har også gitt guider og wiki-oppføringer for å følge med.
Du kan spørre deg selv: "Hva gir dette som Android i seg selv ikke gjør?" Vel, du kan gå direkte inn i koden og finne det ut, eller du kan høre det direkte fra mannen selv:
Muligheten til å enkelt laste shader-kode fra eiendeler er ganske fin. Alt virkelig i AndroidGLESXXUtil tar virkelig det tunge løftet av. Måten OpenGL API fungerer på er at du må sende en matrise eller IntBuffer inn i metodekallene for å spørre og få returverdier. Alt dette administreres internt med ThreadLocal-oppretting, så det er også trådsikkert.
Jeg skrev om GLSurfaceView -> GLSurfaceView2 ved å bruke EGL 1.4, og fjernet all den gamle cruften fra det som har vært i Android SDK fra v1.0
AndroidGLES20Util er et godt eksempel. Det er også overstyring i AndroidGLES30Util for å mer effektivt laste inn teksturer og få dem til å fungere med dataskyggere. Adreno 420 var veldig kresen, men jeg fant en god måte å laste inn teksturer på som fungerte på K1 for dataskyggelegging, men som ikke brøt den, men som ikke brøt normal teksturstøtte på Adreno GPU.
Mens Michael for tiden driver en kickstarter som stenger i kveld, og sannsynligvis ikke vil bli finansiert, er hans primære mål med å dele dette å finne personer med lignende interesse for å jobbe med dette prosjektet og gi åpen kildekode Apache-lisensierte standarder for utviklere å jobbe med. Så hvis du er en utvikler og er interessert i OpenGL på Android når det brukes på film, kan du gjerne kontakte ham. Ellers, sjekk ut denne OpenGL demo prosjekt samt rammeverket. Også, ikke glem wikien!
Hvis du vil se hva dette rammeverket kan gjøre, uten å bli våt, kan du sjekke ut demo. Det er flere eksempler på kickstarter, som er avhengig av dette rammeverket. Ikke glem å sjekke ut MichaelEGR's XDA-forum innlegg.