Возможно, вы знаете участника форума XDA. МихаилEGR, он же Майкл Лихи. Майкл известен своей работой с OpenGL на Android. Фактически, на Big Android BBQ 2014 Он произнес речь под названием «OpenGL ES 3.1/Пакет расширений Android". Сегодня он предоставил разработчикам дополнительную информацию в виде Демонстрация лицензированной платформы Apache.
Будучи разработчиком, вы быстро понимаете, что работа с графикой может быть, скажем так, утомительной. Это особенно актуально, когда ваша графика похожа на видео. Хотя существует довольно много приложений, использующих OpenGL, не так уж много из них открыты, и разработчики не делятся своими собственными платформами ускорения. В данном случае Майкл предоставил вам все необходимое для создания приложения, использующего возможности OpenGL. Он также предоставил руководства и записи на вики, чтобы сопровождать это.
Вы можете спросить себя: «Что это дает такого, чего нет в Android?» Ну, можно сразу зайти в код и узнать, а можно услышать прямо от самого человека:
Возможность легко загружать код шейдера из ресурсов довольно приятна. Все, что действительно есть в AndroidGLESXXUtil, действительно снимает с себя тяжелую работу. API OpenGL работает следующим образом: вам нужно передать массив или IntBuffer в вызовы методов для запроса и получения возвращаемых значений. Все это управляется изнутри с помощью создания ThreadLocal, поэтому оно также является потокобезопасным.
Я переписал GLSurfaceView -> GLSurfaceView2, используя EGL 1.4, удалив весь устаревший мусор из того, что было в Android SDK из версии 1.0.
AndroidGLES20Util — хороший пример. Также в AndroidGLES30Util есть переопределение для более эффективной загрузки текстур и правильной их работы с вычислительными шейдерами. Adreno 420 был очень привередлив, но я нашел хороший способ загрузки текстур, который работал на K1 для вычислительных шейдеров, но не нарушал его, но не нарушал и нормальную поддержку текстур на графическом процессоре Adreno.
Хотя Майкл в настоящее время управляет кикстартером, который закроется сегодня вечером и, скорее всего, не будет профинансирован, его основная цель поделиться этой информацией — найти людей со схожим интересом к работе над этим проектом и предоставить разработчикам стандарты с открытым исходным кодом, лицензированные Apache. с. Так что, если вы разработчик и вас интересует OpenGL на Android применительно к кинофильмам, смело обращайтесь к нему. В противном случае, проверьте это Демо OpenGL проект, а также рамки. Также не забудь вики!
Если вы хотите увидеть, на что способен этот фреймворк, не замочив ног, посмотрите демо. Есть еще примеры на кикстартер, который опирается на эту структуру. Также не забудьте проверить МихаилEGR's Сообщение на XDA-форуме.