Saatat tuntea XDA-foorumin jäsenen MichaelEGR, alias Michael Leahy. Michael tunnetaan työstään OpenGL: n kanssa Androidilla. Itse asiassa Big Android BBQ 2014 -tapahtumassa hän piti puheen "OpenGL ES 3.1 / Android Extensions Pack". Tänään hän on antanut lisää tietoa kehittäjien käytettäväksi muodossa apache-lisensoidun kehyksen demo.
Yksi niistä asioista, jonka huomaat nopeasti kehittäjänä, on se, että grafiikan parissa työskenteleminen voi olla, sanotaanko, turhauttavaa. Tämä pätee erityisesti silloin, kun grafiikkasi ovat videon kaltaisia. Vaikka OpenGL: ää käyttäviä sovelluksia on melko vähän, monet niistä eivät ole avoimia, eivätkä kehittäjät jaa omia kiihdytyskehyksiään. Tässä tapauksessa Michael on antanut sinulle kaiken, mitä tarvitset OpenGL: n tehoa hyödyntävän sovelluksen rakentamiseen. Hän on myös toimittanut oppaita ja wikimerkintöjä sen mukana.
Saatat kysyä itseltäsi: "Mitä tämä tarjoaa, mitä Android yksinään ei tarjoa?" No, voit mennä suoraan koodiin ja selvittää, tai voit kuulla sen suoraan mieheltä itseltään:
Mahdollisuus ladata Shader-koodia resursseista on melko mukavaa. Mikä tahansa AndroidGLESXXUtilissa todella kestää raskaan noston. OpenGL-sovellusliittymä toimii siten, että sinun on välitettävä taulukko tai IntBuffer menetelmäkutsuihin kyselyä ja palautusarvojen saamiseksi. Kaikkea tätä hallitaan sisäisesti ThreadLocal-luonnin avulla, joten se on myös säikeen turvallista.
Kirjoitin uudelleen GLSurfaceView -> GLSurfaceView2 käyttämällä EGL 1.4:ää poistaen kaikki vanhat osat Android SDK: sta versiosta 1.0
AndroidGLES20Util on hyvä esimerkki. AndroidGLES30Utilissa on myös ohitus, jonka avulla pintakuvioita voidaan ladata tehokkaammin ja saada ne toimimaan oikein laskentavarjostimien kanssa. Adreno 420 oli erittäin nirso, mutta löysin hyvän tavan ladata tekstuureja, jotka toimivat K1 for compute shaderissä, mutta eivät rikkoneet sitä, mutta eivät rikkoneet normaalia pintakuviotukea Adreno GPU: ssa.
Vaikka Michael pyörittää tällä hetkellä kickstarteria, joka sulkeutuu tänä iltana ja jota ei todennäköisesti rahoiteta, hänen ensisijainen tavoite tämän jakamisessa on löytää ihmisiä, jotka ovat kiinnostuneita työskentelemään tämän projektin parissa, ja tarjota avoimen lähdekoodin Apache-lisensoituja standardeja kehittäjien työskentelyyn kanssa. Joten jos olet kehittäjä ja olet kiinnostunut OpenGL: stä Androidissa, kun sitä käytetään elokuvissa, ota rohkeasti yhteyttä häneen. Muussa tapauksessa tarkista tämä OpenGL-demo projekti samoin viitekehys. Älä myöskään unohda wiki!
Jos haluat nähdä, mitä tämä runko voi tehdä ilman, että jalat kastuvat, mene eteenpäin ja tutustu demo. Sivulla on lisää esimerkkejä kickstarter, joka perustuu tähän kehykseen. Älä myöskään unohda tarkistaa MichaelEGR's XDA-foorumin viesti.