Страница 1 из 6

ZenGL + поддержка android

СообщениеДобавлено: 01.04.2020 03:45:58
Seenkao
ZenGL: библиотека для разработки 2D-игр/приложений (так же 3D, но большую часть делать надо будет самим), содержит полный OpenGL (возможно что-то работает не корректно, не весь OpenGL проверялся).

Поддержка платформ для:
FPC/Lazarus:
- Windows 32/64
- Linux 32/64
- Android ARM32(v5, v6, v7a)/ARM64(v8a)/x86/x86_64
- MacOS Cocoa - тестовая версия.

Основная часть ZenGL для нативных разработок. Хотя LCL-формат так же поддерживается.

Последняя версия ZenGL 4.3 - SourceForge.

версия ZenGL на GitHub (последняя 4.2, но лучше её не скачивайте там, она сырая).

Старые версии, не включённые в репозиторий:
ZenGL 3.24
ZenGL 3.20

И версия от Скалогрыза - должна работать с iOS

Основы:
!!! Здесь информация по сборке проектов под Android! :mrgreen:
И следом видео на ютубе.
Внимание!!! Для компиляции под Android FPC не должен быть РАВЕН версии 3.0.4, нет ни каких гарантий, что версия 3.0.4 будет компилировать библиотеку под андроид.

Внимание! Для новых версий FPC (> 3.0.4) для Unix-систем и не LCL в запускаемом модуле обязательно надо выставлять:
Код: Выделить всё
uses
{$IFDEF UNIX}
   cthreads;
{$ENDIF}

Внимание!!! Проверьте сборку APK файла по двум видео ниже (точнее по второму).
https://youtu.be/4oxssDB3JJE - нужные программы для создания рабочего APK-файла
https://youtu.be/3tB_5mA2rO0 - само создание APK-файла с рабочим кодом из Lazarus.

После проверки, проверяем работу ZenGL.

https://www.youtube.com/playlist?list=P ... 1OGiwPBiLH - решение проблем, связанных с запуском приложений на Android.

https://youtu.be/P2ZuLZj0qkU - видео, где я запустил демо-версии на андроиде. Запустил я все демо-версии, и все заставил работать, поэтому при сборке у вас тоже они должны работать, но на видео ещё тот момент, когда не удалось найти все ошибки и исправить их.

https://www.zengl.org/index_ru.html - основная информация не поменялась, кроме исходного кода. Поэтому, что-то нужное там всё же найдёте.

В версии 3.20 не сильно много поменялось, но корректирована работа с fpc (версия желательно больше 3.0.4) под андроид и настроены дефайны.

Проблемы с компиляцией под андроид могут возникнуть в множестве случаев. Смотрите видео, задавайте вопросы.

Первые проблемы бывают с тем, что некоторые установленные у вас Lazarus-ы путают дефайны и для них Linux и Android одно и то же, а это не так!!!

Может быть где-то пути упустили, где-то Лазарус тянет за собой шлейф ненужной информации и зачастую прийдётся удалить *.lpi файл.

Ещё один из простых вариантов, вы используете не тот компилятор.

вопросы, предложения можно оставлять здесь или отправлять на мыло M12Mirrel@yandex.ru

Благодарю за внимание. :)

Re: ZenGL 3.20 + поддержка android

СообщениеДобавлено: 02.04.2020 18:34:24
Mirage
На гитхаб куда-нить не выложил?

Re: ZenGL 3.20 + поддержка android

СообщениеДобавлено: 02.04.2020 21:24:16
Alex2013
Попытался сходу собрать примеры поучил головную боль и повисший планшет ... можно готовые APK куда нибудь выложить?
А то вроде делал по инструкции но ничего работает.

Re: ZenGL 3.20 + поддержка android

СообщениеДобавлено: 03.04.2020 13:17:33
Seenkao
на мыло скинте пожалуйста, и если есть возможность исходный код, чтоб я мог сравнить и указать ошибки в сборке.

Я не понял изначально, вы хотите чтоб я готовые APK из примеров выложил? Но смысл? Для примера я конечно могу скинуть рабочий APK, но если вы сами не сможете потом сделать рабочий проект, то готовый APK вам не поможет. Даже если вы захотите пойти подменой кода, то в самом коде может оказаться ошибка, которая так же "подвесит" ваш планшет.

По видео ниже попробуйте сделать простое приложение
https://youtu.be/4oxssDB3JJE - нужные программы для создания рабочего APK-файла
https://youtu.be/3tB_5mA2rO0 - само создание APK-файла с рабочим кодом из Lazarus.

потом, возможно, будет более понятно почему не собирается нормально ZenGL.

Да, и если вы собрали первое приложение Demo01 - инициализация, то там будет чёрный экран. ))) (надо будет добавить сообщение об этом в саму демку), это не завис. Обычным выходом из приложения пользуйтесь.

Re: ZenGL 3.20 + поддержка android

СообщениеДобавлено: 08.04.2020 08:24:30
Alex2013
1 Просто думаю что полезно сравнить с тем что собрал я ( как всем известно APK это просто архив )
2 У меня все демки просто на стадии запуска повисли (курсор крутится и все ... :roll: ).

Re: ZenGL 3.20 + поддержка android

СообщениеДобавлено: 08.04.2020 11:25:18
Seenkao
Alex2013, можно подробнее, пожалуйста?! Какая IDE? Под какую платформу? Какой версии компилятор используете? Просто курсор на анроиде не крутится...
Да, я скину один из APK файлов собранных, позже, в изначальную тему закину.

Re: ZenGL 3.20 + поддержка android

СообщениеДобавлено: 09.04.2020 12:19:30
Alex2013
1 Причем тут IDE ? Я компилятором "в ручном режиме" собирал (fpc -Tlinux -Parm ... или lazbuild.exe --cpu=Arm --os=linux ...).
2 FPC 3.0.4 и 2.6.4
3 Старый планшет GoClever TAB A73 CPU A10 ( Allwinner A10 (ARMv7) + GPU Mali 400 ) с android 4.0.3
4 Курсор(точнее не курсор а просто "символ ожидания" ) при загрузке крутится (До запуска самого приложения похоже не доходит )

Re: ZenGL 3.20 + поддержка android

СообщениеДобавлено: 09.04.2020 12:52:49
serbod
В файле zgl_fpc.cfg:
{$DEFINE NAME_MANGLING} устанавливается только для FPC 2.5, но не работает для FPC 3.X

Добавлено спустя 3 минуты 42 секунды:
Еще много предупреждений компилятора

Warning: Local variable "fmt" does not seem to be initialized

которые можно легко устранить, разместив
Код: Выделить всё
fmt := 0;

в начале блока

Добавлено спустя 3 минуты 55 секунд:
Ну и лично мне не хватает функций рисования 2D полигонов (многоугольников) с заливкой или без.

Re: ZenGL 3.20 + поддержка android

СообщениеДобавлено: 09.04.2020 13:04:13
Alex2013
У меня в 2.6.4 "что-то собралось"... Блин уже который раз пытаюсь ФПС с Андроид "подружить" а "воз и ныне там". :roll: в прочем пока заказов на мобильный софт небрал так что все это просто "для общего развития ".
Зы
Для начала есть более простые примеры но смысла в них увы маловато.
https://composter.com.ua/content/kross- ... 2016-01-29
Зы Зы
Если под ide имелась в виду " интегрирующая оболочка" то пробовал laztoapk и laz4android

Re: ZenGL 3.20 + поддержка android

СообщениеДобавлено: 09.04.2020 22:37:14
Seenkao
Alex2013 писал(а):FPC 3.0.4

поменяйте пожалуйста fpc!!! Писал же
Seenkao писал(а):версия желательно больше 3.0.4)

:) APK собираете через Eclipse?
В видео по моему тоже не один раз говорил, что 3.0.4 не компилирует, и с этой версией fpc не получился у меня рабочий код. версия на которой я собирал 3.3.1
Alex2013 писал(а):Для начала есть более простые примеры но смысла в них увы маловато.

я скидывал, видео выше, в первом же ответе вам, это очень важно!!! Потому что если вы не можете обычный APK собрать, с рабочим кодом от fpc, то и в(под) ZenGL вы так же его не соберёте!

serbod писал(а):{$DEFINE NAME_MANGLING} устанавливается только для FPC 2.5, но не работает для FPC 3.X

В изначальных заголовках нет этого дефайна, вы сами его вставили?
serbod писал(а):Ну и лично мне не хватает функций рисования 2D полигонов (многоугольников) с заливкой или без.

Полигоны рисуются множеством треугольников.
Я рассмотрю эту возможность.

Добавлено спустя 21 час 38 минут 10 секунд:
Подредактировал изначальное сообщение. Пока дорабатываю мелочи в ZenGL на днях, уже обновлю, будет добавлено управление под андроид и клавиатура. И постараюсь сразу пример для использования скинуть.

Добавлено спустя 9 часов 42 минуты 48 секунд:
Alex2013 писал(а):Старый планшет GoClever TAB A73 CPU A10 ( Allwinner A10 (ARMv7) + GPU Mali 400 ) с android 4.0.3

https://wiki.freepascal.org/Android/ru - тут в конце почитай, там насчёт совместимости, а раз компилируешь вручную, значит будет понятно какой ключ добавить.

Re: ZenGL 3.20 + поддержка android

СообщениеДобавлено: 11.04.2020 16:39:48
Alex2013
1 В принципе в андроид можно запускать бинарники через зарученный терминал. (то есть не собирать APK ) но это чуть сомнительный путь (Пользователи заморачиваться подобным не будут )
2 Сбирал свежий fpc из исходников но ни разу не собрал полностью рабочий (шут его знает почему) :roll: так что если невлом кинь ссылку на бинарник .
4 APK сбирается оболочками типа laztoapk и laz4android
3 "тут в конце почитай, там насчёт совместимости, а раз компилируешь вручную, значит будет понятно какой ключ добавить."
Спасибо !
Зы
Лень меня погубит ... :cry:

Re: ZenGL 3.20 + поддержка android

СообщениеДобавлено: 11.04.2020 19:43:43
Seenkao
Alex2013 писал(а):2 Сбирал свежий fpc из исходников но ни разу не собрал полностью рабочий (шут его знает почему) так что если невлом кинь ссылку на бинарник .
4 APK сбирается оболочками типа laztoapk и laz4android

Мне так же не удалось собрать эти версии в рабочее состояние.

Установи тайфун (если винда), вместе с ним идёт fpc, тот же лазарус, только расширения они под себя сделали. У меня как раз оттуда взят fpc. Как устанавливать кросскомпиляцию, у них же на сайте есть или на моём видео: https://youtu.be/4oxssDB3JJE
Так же можешь использовать FPCUPDELUXE, но у меня не хочет нормально он работать.

... да тут ещё... в манифесте я минимальный уровень много где 14-й поставил... А для андроида 4.0, там вроде ниже надо... :oops: замени на всякий случай.

Re: ZenGL 3.20 + поддержка android

СообщениеДобавлено: 18.04.2020 12:02:05
Seenkao
Создание APK с нативным кодом. Если вам удастся данным способом создать рабочее приложение и оно не вылетит с ошибками, и нативный код будет рабочим, то демки ZenGL вы так же сможете запустить.

https://yadi.sk/d/oGNbitl9S-Koyw - архив с картинками, надеюсь доступно всё сделал. Хотя... ))))

Re: ZenGL 3.20 + поддержка android

СообщениеДобавлено: 22.04.2020 09:13:55
yeger
Огромное спасибо, что занимаетесь этой библиотекой!
При попытке использовать столкнулся с тем, что некоторые вещи стали работать иначе, например общие настройки, триангуляция.
Рассматриваете ли вы возможность обратной совместимости?

Re: ZenGL 3.20 + поддержка android

СообщениеДобавлено: 22.04.2020 12:43:37
Seenkao
yeger писал(а):некоторые вещи стали работать иначе, например общие настройки, триангуляция.

Было бы хорошо, если бы конкретнее были даны сведения.

Многие изменения прописаны и в демках. Поэтому многие ответы можно из самих же демок получить.

Триангуляцию не менял, поэтому было бы полезно узнать, что вдруг изменилось? (возможно я где-то, что-то наковырял и забыл вернуть всё обратно).