Всем ценителям 3D графики и Андроида посвящается

edmsk

Переопубликована бесплатная версия
Обои обновлены до версии 2.0, внизу коротко об оптимизации под arm архитектуру и немного видео :)
Разгневанные обилием низкокачественного спама в виде пререндеренных картинок низкого разрешения в категории Live Wallpapers на Android Маркете, решили мы с этим поэксперементировать.Месяц изучения Java Native Interface, вспоминания native С++, оптимизации вычислений и отладки шейдеров под OpenGL ES 2.0, и у нас получился качественный live wallpaper.
За первый день после публикации на Android Market мы получили около 100 положительных отзывов, столько же скачек, около 80 уникальных посетителей сайта и даже несколько покупок платной версии :)
Будем признательны за отзывы, комменты, баг репорты, скачки и плюсики.
Скачать можно с Play Маркета
Несколько скриншотов с Samsung P6800 Tab 7.7 ниже:





procenkotanya

Ха, зачотно! Пока только эти меташары, других эффектов нет?

edmsk

Там еще motion blur эффект есть, c которым поиграться можно.
Но в целом пока да, хотя в планах уже много чего нового есть. Буду периодически писать сюда посты о наших экспериментах.

lubanj

На nesus s лагает при свайпе рабочих столов.
На htc legend зависает намертво

bav46

дай логкат подробный.
на htc зависает при нажатии кнопки home ?

lubanj

ой. сорри криво скопировался лог. зависает как только приложение хочет показать превью будущих обоев
апд: ухты. запустилось таки на рабочем столе. но работает ооочень медленно
зависает, когда нажимаю на кнопку "перейти".
А также бывает зависает на экране с двумя кнпоками снизу и надписью "загрузка живых обоев"
В логкат после нажатия на кнопку ничего толком не пишется. стартАктивити, и дальше то что в прошлом после

edmsk

зависает как только приложение хочет показать превью будущих обоев
Могу предположить несколько вариантов. Там вшиты достаточно большие текстуры, возможно, просто не хватает памяти на их декодинг и передачу в opengl. Также может быть, что у нас там в previw ошибка, на a тоже есть кое-что косвенно с этим связанное, сейчас будем смотреть. У нас просто загрузка текстур сделана в параллельном потоке, с синхронизацией есть сложности.
апд: ухты. запустилось таки на рабочем столе. но работает ооочень медленно
зависает, когда нажимаю на кнопку "перейти".
А также бывает зависает на экране с двумя кнпоками снизу и надписью "загрузка живых обоев"
В логкат после нажатия на кнопку ничего толком не пишется. стартАктивити, и дальше то что в прошлом после
На всех телефонах HTC с HTC Sence 3.0 с live wallpaper'ами проблемы. Во-первых Sence не присылает scrolling ивенты, когда скролируешься по экранам. Во-вторых, в целям оптимизации HTCшники прибиывают нитку wallpaper'а, в итоге он при скроллинге вообще останавливается. Ну и в-тетьих, это прибиваение никто часто приводит к полной ее остановке.
Мы это наблюдали на всех HTC телефонах с их лаунчером. Причем на абсолютно всех живых обоях, даже от самой HTC. Что с этим делать, пока не знаем.
Спасибо!

lubanj

Там вшиты достаточно большие текстуры, возможно, просто не хватает памяти на их декодинг и передачу в opengl.
скорее всего так. на этом девайсе 16мб дают только

edmsk

Только что нашли дурацкую ошибку в последнем апдейте, кастомные картинки вообще не загружаются из галареи. Сейчас поправим.
Update: исправили, теперь картинки из гелереи подгружаются без проблем, обновление скоро появится на Google Play

abur

На мой девайс что то не ставится, андроид 4, диагональ 9,7

edmsk

На мой девайс что то не ставится, андроид 4, диагональ 9,7
Именно не ставится или не запускается? Какая конкретно модель?

abur

именно не ставится (если ищу на обычном ПК для удаленной установки, то пишет что мое устройство не поддерживается, а если поиск в google play на самом планшете, то вообще не находит это приложение, находит лишь ключ для платной версии )
устройство - китаец SmartQ Ten3

kill-still

у меня стоят рыбки Koi. А ваши круги глючат и не нравятся мне. :)

edmsk

именно не ставится (если ищу на обычном ПК для удаленной установки, то пишет что мое устройство не поддерживается, а если поиск в google play на самом планшете, то вообще не находит это приложение, находит лишь ключ для платной версии )
устройство - китаец SmartQ Ten3
На нем нет поддержки OpenGL ES 2.0 :o
Вот Google Play и говорит о несовместимости!

edmsk

у меня стоят рыбки Koi. А ваши круги глючат и не нравятся мне. :)
Не нравятся, так не нравятся, наслаждайся рыбками!

edmsk

Смотрим мои видеоподелки про меташары здесь (качество высокое, а вот камера не очень, фокус прыгает при изменении яркости)



Также смотрим на версию 2.0 здесь
Хорошенько все оптимизировали, за что отдельное спасибо exidler'у. Научились не обсчитывать всю сетку, ограничивая вычисления по пороговому значению потенциала. Также избавились от лишних расчетов на соседних гранях вокселей сетки. Попробовали прикрутить векторный neon под arm архитектуру - прироста скорости пока не дало. Как выяснилось, самое медленно - обращение к памяти, т.к. кеш процессоров на телефонах достаточно маленький.
В совокупности выиграли порядка 10 fps, теперь уже и на low телефонах будет приемлемо работать.
Кстати, за 15 дней 10 000 скачек и 9 место в top new free, за что также спасибо всем, кто нас поддерживал!

Vyacha

Кстати, вас таки уже поломали и раздают

edmsk

Кстати, вас таки уже поломали и раздают
Конечно, чуть ли не в первый же день :) Правда есть одно но. Этот метод работает только на рутованых телефонах, коих меньше 1%. Так что фигня все это

okis

Значит, людям доставляет прога, раз не лень рутовать-качать

edmsk

Значит, людям доставляет прога, раз не лень рутовать-качать
Ну мы же в России, здесь издавна халяву любят. К тому же это такие ресурсы, где просто перепощивают все и вся, чтобы как можно больше трафика привлечь.
Сейчас думаем над реализацией реалистичного огня под андроид путем решения уравнения Навье Стокса.
Под андроидом реализации нет. Нашли подобное под iPhone http://www.fpsoftlab.com/ifire.htm
Скачал, посмотрел. Поддерживает 3 детализации сетки: мелкая, средняя, большая. На самой мелкой почти не лагает на 3 айфоне, но сильно видна сама сетка. На средней около 15-20 fps, на большой <10. Хотя они на сайте пишут, что все оптимизировали на асме.
А вообще хотим сделать вот так http://www.youtube.com/watch?v=z_7DgpJK-eI
На мой взгляд будет бомба, если удастся это посчитать на телефоне и получить приемлемое кол-во кадров в секунду.

banderon

А вы именно 3D Навье-Стокс хотите решать?
Можно попробовать решать 2D Н-С, причём забить на точность и линеаризовать всё что можно. Я так понимаю, что основной затык здесь будет в скорости численного решения задачи Н-С, а не в отрисовке?

procenkotanya

> Я так понимаю, что основной затык здесь будет в скорости численного решения задачи Н-С, а не в отрисовке?
Конечно.
С другой стороны, ещё на 486-ых были демки с весьма приличным огнём, так что тормозящее пламя на ойфоне это позор какой-то.

VoodooXP

С другой стороны, ещё на 486-ых были демки с весьма приличным огнём,
Там все проще было, никаких уравнений не решалось

procenkotanya

никаких уравнений не решалось
то, что они делали, можно считать грубым решением грубых дискретизаций диффуров, отдалённо напоминающих математические модели горения; как написал выше, "забить на точность и линеаризовать всё что можно" ;)
тут же главное не как и какие уравнения решаются, а как итоговая картинка выглядит. с каким порядком точности Навье-Стокс решается, человека, смотрящего на огонь на экране телефона/монитора, не интересует

VoodooXP

тут же главное не как и какие уравнения решаются, а как итоговая картинка выглядит.
Как бы эффекты разные принципиально (не только по алгоритму, но и по визуальному отображению). Doom2 тоже работал на 486, а Doom3 уже нет

bav46

с каким порядком точности Навье-Стокс решается, человека, смотрящего на огонь на экране телефона/монитора, не интересует
чтобы хорошо смотрелась надо решать на достаточно большой сетке.
на ati6800 и обсчет на gpu этот огонь у меня дает 15 фпс, уменьшение сетки в два раза приводит прирост производительности в 8 раз
а да шарики наши забанили за сексуальный контент :grin:
потому что в россии очень много пидоров, которые ничего не хотят и не любят делать, а из зависти просто любят поднасрать другим :)

edmsk

Лично я в это не верю. Посмотрим, может еще и разбанят. Теперь будем знать, что в гугловой полиси черт ногу сломит, настолько абстрактно там все написано

FRider

почему в россии? Эта прога разве исключительно на российскую аудиторию расчитано?

bav46

я делаю такие выводы по поведению и отзывам некоторых особей в РФ. ;)

FRider

кинь в аську прочо там :) Чет сюр какойто

banderon

С другой стороны, ещё на 486-ых были демки с весьма приличным огнём
Там поди вообще аналитикой огонь задавался :) без интерактива
Табличная тригонометрия, и долго и упорно подбираемые коэффициенты в формулах, чтобы было быстро и красиво :)
Кстати, возможно стоит посмотреть в сторону meshless методов. Раз уж прямой подход с мелкими сетками кажется неудачным.

bav46

Раз уж прямой подход с мелкими сетками кажется неудачным.
он не кажется неудачным его просто надо реализовать и чтобы на ембедед работал шустро(dunhil уже написал, что то, что не l1,l2,l3 очень дорого).

viktor954

Вроде же по поводу линеаризации и оптимизации Navier-Stokes гугл что-то внятное говорит?

edmsk

Ну что ж, пока наш Денис оптимизирует Навье-Стокса, мы переопубликовали меташары. Видео пришлось перезалить, т.к. вместе с баном приложения видео отправилось туда же. Начинаем все с самого начала, наученные горьким опытом :)
Из гугла пришел ответ следующего содержания:
Hi Hamster,
Thank you for your note.
We have reviewed your appeal and will not be reinstating your application.
If your account is still in good standing - and the nature of your
application allows for republishing, consider releasing a new, policy
compliant version of your application to Google Play. Please refer to our
initial message for specific policy and developer terms.
Please note that violations may result in a suspension of your Google Play
Publisher account.
Regards,
The Google Play Team
Original Message Follows:
------------------------
From: Hamster Beat Team
Subject: Re: Notification from Google Play
Date: Fri, 1 Jun 2012 18:41:45 +0400
>
> Re: Notification from Google Play
> Hello!
>
> Please review information below according to our removed app:
>
> 1. Metaballs HD Live Wallpaper, package name
com.hamsterbeat.wallpapers.metaballs
> 2. Our app is a realtime simulation of marching cubes algorithm. It
contains 12 different themes and as we believe no nudity or sexual
content. The only one theme that might lead to your decision is Melons at
the Beach theme. This theme is an image of sunny beach with a palm and
beautiful woman at the front. The woman is dressed in a light summer
clothing and not naked. In front of this image melons (simulated as
metasurface) are flying. We do not make any hint of sex in this scene.
This is just a beatifull sunny beach with beautiful woman and melons that
we find very impressive together. If this scene seems as providing hint of
sex or nudity we can definitely change content maturity to low or high
accroding to your content policty. I remember we did it when submitting
apk version 2.0 to play store, but seems like the changes were not saved.
And once again, all the app is about realtime marching cubes calculations
and vizualization as you can see by yourself. Please re-review it if
possible, as we spent lot of time optimizing calculations to get it worked
on android devices providing some innovations.

Plok2008

Я конечно не в курсе, почему и как они решили вас банить за harassment, но может им не нравится название "Metaballs HD Live Wallpaper". Если изменить "шар", например, на "сфера", может оно на их недалёкий взгляд будет лучше звучать?

edmsk

Ну вообще-то metaballs устоявшийся термин :) Да не, там картинка у нас есть с телкой, вот за нее и забанили

edmsk

Я после ревыкладывания приложения написал еще раз в гугл:
Hello!
We republished application with package name
com.hamsterbeat.wallpapers.metaballs.free and set the content rating
to medium maturity.
Can we now be sure that it's completely correct in our case as this app does not contain real
sexual content, is not focused on it and medium maturity is enough?
Is it possible to remove google search engine restrictions for the
query "Metaballs HD Live Wallpaper" that was punished too? Our app
is focused on metaballs simulation and app renaming will
destroy it's main idea.
Thanks!
Пришел ответ:
Hi Hamster,
Thank you for your note.
We appreciate the feedback regarding Google Play Policies and Guidelines.
At this time, we are unable to comment on the compliance of your planned
implementation. We encourage you to use the following guidelines and
policies when uploading a new version:
Google Play Android Developer Program Policy:
http://www.android.com/us/developer-content-policy.html
Google Play Android Developer Distribution Agreement (DDA):
http://www.android.com/us/developer-distribution-agreement.h...
Application Rating Guidance:
http://support.google.com/googleplay/android-developer/bin/...
For auditing purposes, we are unable to reinstate applications that have
been suspended due to policy violations. We recommend that you upload a
new instance of the application which complies with Google Play Policies
and Guidelines.
Please note that repeated violations may result in a suspension of your
Google Play Publisher account.
Не смотря на все блаблабла, похоже, что их просто прессуют, и они не хотят рисковать своей репутацией. Не верю я, что там такие чурбаны могут сидеть :)
Кстати, ваша помощь нам очень бы пригодилась. Во второй раз так быстро набрать популярность не получается, т.к. цитируемость ниже, большинство ссылок идет на прошлую забаненную версию.
Если каждый скачает/расскажет/покажет эти обои друзьям/знакомым/первому встречному, будем очень за это признательны :)

Inflict84

навье-стокса можно решать лэтис-больцманом. Дешево и сердито. С одной стороны, туфта, а с другой — быстрый сольвер, кое-что им можно было симулировать на персоналках 90-х годов. Но не уверен, что огонь так можно насимулировать: лэтис-больцман плохо переваривает сильно меняющуюся плотность. Кроме того, если есть движущиеся границы, то вылезают паразитные моды, приёмы устранения которых не очень подробно описаны в литературе.
Вот пример симуляции пламени решёточными уравнениями Больцмана в трёхмерии: http://www10.informatik.uni-erlangen.de/Publications/Theses/...

Papazyan

Все хорошо, но я одного не пойму - какой смысл ранить на мобильном девайсе прогу, которая дико жрет цпу (электроэнергию)?

bav46

Все хорошо, но я одного не пойму - какой смысл ранить на мобильном девайсе прогу, которая дико жрет цпу (электроэнергию)?
ты не понимаешь, а хомечкам нравицо :grin:

FRider

я вот одного не пойму. Зачем нужны говносоцсети которые сливают инфу спецслужбам!

bav46

Зачем нужны говносоцсети которые сливают инфу спецслужбам!
чтобы хомячки чувствовали себя не ущербно ;)

edmsk

Все хорошо, но я одного не пойму - какой смысл ранить на мобильном девайсе прогу, которая дико жрет цпу (электроэнергию)?
Во-первых, не так уж дико она жрет энергию. Например, наши шарики у меня на планшете не отображаются вообще в списке программ по расходованию батареи. А вычислений там под 500 000 на кадр при 30 кадрах.
Во-вторых, зачем вообще нужен мобильный девайс? Чтобы звонить? Для большинства - нет. Очередная игрушка для развлечений. Батарея отступает на второй план.
А вообще все для счастья и радости!

edmsk

Выложили релиз версии 3.0, который наконец-то включает в себя интерактивность. Теперь шарики можно таскать по экрану, учитывается влияние скорости перемещения пальца по экрану и гравитация к изначальной траектории шаров :)
P.S. окупки неделю назад сильно упали, почему-то мы вылетели из топов, в чем причина - пока не поняли, так что просьба всем у кого есть андроид и 30 рублей купить и радоваться жизни!
P.P.S. последнее, конечно, было шуткой :)
Оставить комментарий
Имя или ник:
Комментарий: