Michael Leahy brengt OpenGL ES 3.0/3.1-frameworks uit

click fraud protection

Misschien ken je het XDA-forumlid MichaelEGR, ook bekend als Michael Leahy. Michael staat bekend om zijn werk met OpenGL op Android. Tijdens de Big Android BBQ 2014 hield hij zelfs een toespraak met de titel "OpenGL ES 3.1 / Android-extensiepakket". Vandaag heeft hij meer informatie gegeven die ontwikkelaars kunnen gebruiken in de vorm van een Apache-gelicentieerde raamwerkdemo.

Eén van de dingen waar je als ontwikkelaar snel achter komt, is dat het werken met graphics, laten we zeggen, frustrerend kan zijn. Dit geldt vooral als uw afbeeldingen op een video lijken. Hoewel er nogal wat apps zijn die OpenGL gebruiken, zijn er niet veel daarvan open, en de ontwikkelaars delen ook niet hun eigen versnellingsframeworks. In dit geval heeft Michael je alles gegeven wat je nodig hebt om een ​​app te bouwen die gebruikmaakt van de kracht van OpenGL. Hij heeft ook handleidingen en wiki-artikelen ter beschikking gesteld.

U vraagt ​​zich misschien af: "Wat levert dit op dat Android op zichzelf niet biedt?" Nou, je kunt direct naar de code gaan en erachter komen, of je kunt het rechtstreeks van de man zelf horen:

De mogelijkheid om eenvoudig shadercode uit assets te laden is best aardig. Alles wat echt in AndroidGLESXXUtil zit, neemt echt het zware werk weg. De manier waarop de OpenGL API werkt, is dat u een array of IntBuffer moet doorgeven aan de methodeaanroepen om query's uit te voeren en retourwaarden te verkrijgen. Dat alles wordt intern beheerd met ThreadLocal-creatie, dus het is ook thread-safe.

Ik herschreef GLSurfaceView -> GLSurfaceView2 met behulp van EGL 1.4 en verwijderde alle oude rommel van wat er in de Android SDK zat vanaf v1.0

AndroidGLES20Util is een goed voorbeeld. Er zijn ook overschrijvingen in AndroidGLES30Util om texturen efficiënter te laden en ze correct te laten werken met compute shaders. De Adreno 420 was erg kieskeurig, maar ik vond een goede manier om texturen te laden die op de K1 werkten voor compute shader, maar deze niet verbraken, maar ook de normale textuurondersteuning op de Adreno GPU niet verbraken.

Hoewel Michael momenteel een kickstarter draait die vanavond sluit en waarschijnlijk niet gefinancierd zal worden, is zijn voornaamste doel om dit te delen: om mensen te vinden met dezelfde interesse om aan dit project te werken en om open-source Apache-gelicentieerde standaarden aan te bieden waarmee ontwikkelaars kunnen werken met. Dus als u een ontwikkelaar bent en geïnteresseerd bent in OpenGL op Android, toegepast op films, neem dan gerust contact met hem op. Bekijk anders dit eens OpenGL-demo project ook het frame. Vergeet ook niet de wiki!

Als je wilt zien wat dit raamwerk kan doen, zonder natte voeten te krijgen, ga je gang en bekijk de demonstratie. Er staan ​​nog meer voorbeelden op de website kickstarter, dat afhankelijk is van dit raamwerk. Vergeet ook niet uit te checken MichaelEGR'S XDA-forumbericht.