Разработка под Android / Живые обои на Android без нативного кода или история написания Two Hearts Live Wallpaper

Более полу года проработав разработчиком для Android я решил попробовать написать живые обои с использованием OpenGL. Пробежав по сети было обнаружено несколько движков общего назначения и множество любительских поделок. Два достаточно взрослых движка предлагали быстрый нативный код и хорошую документацию:
Andengine;
LibGDX.

К несчастью, первый не умеет загружать модели и ограничивается двумя измерениями, во втором же работа с моделями выполнена в расширениях и написана на Java, что приводит к перерасходу памяти и медленной работе.
Unity3D не рассматривался из-за его платности, да и не заточен он для живых обоев.
Linderdaum выполнен полностью в нативном коде, но не содержит обертки для живых обоев и страшно медлителен, на Desire в простой сцене количество кадров в секунду колебалось от 3 до 8.
Просмотр маленьких проектов обнаружил min3d и Rajawali, причем первый написан для OpenGL 1.1 и уже год не поддерживается, а второй, хотя и работает с более продвинутой версией API, не содержит многих полезных функций из первого. Кроме того первый не умеет работать с живыми обоями.

Рубрика: Habr