Android Live стола с OpenGL ES 2.0?

Кто-нибудь смог получить OpenGL ES 2.0, работающий на живых обоях? У меня есть класс, который использует OpenGL ES 2.0 и отлично работает как Renderer для GLSurfaceView. Тем не менее, я хочу, чтобы он работал как живые обои. Я нашел Robert Green GLWallpaperService, но это основано на более старой версии GLSurfaceView и не поддерживает setEGLContextClientVersion, которое необходимо для запуска OpenGL ES 2.0.

Ответ 1

Мне удалось получить LWP на основе opengl, расширив GLSurfaceView и затем обернув его в службу обоев. Я специально не протестировал, если opengl es 2.0 работает с этим методом, но я не вижу причин, чтобы это не было.

Файлы LWP можно найти в https://github.com/JesusFreke/Penroser/tree/master/src/org/jf/GLWallpaper. Они должны быть универсальными и полезными как в других проектах. Пример использования этих классов см. В https://github.com/JesusFreke/Penroser/blob/master/src/org/jf/Penroser/PenroserLiveWallpaper.java

Ответ 2

Код этот пост в блоге адаптирует Robert Green GLWallpaperService для работы с OpenGL ES 2.0. Возможно, вам удастся его использовать, однако, вероятно, вам будет проще использовать реализацию JesusFreke.

Если вам удастся улучшить GLWallpaperService, отправьте свои изменения обратно в проект, чтобы мы могли все выиграть.