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

Общие вопросы программирования, алгоритмы и т.п.

Модератор: Модераторы

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

Сообщение Seenkao » 04.07.2023 00:54:17

Версия 4.0 на данный момент более-менее стабилизирована, кроме Мака.

Изначально выпустил очень сырую версию. И многие проекты было невозможно собрать для определённой ОС и архитектуры. При чём даже для Windows.
За всё время использования, внёс столько правок, что о некоторых "забыл" (сделал правки только для одной ОС). Выяснилось что мало того что под Android не все демки работали: проблемы с динамическими библиотеками, проблемы настройки проектов и непонятные проблемы, которых вообще не должно быть, но они вылезли.

И тут мне показали проблему сборки под DelphiXE, после тестирования под Delphi 7 я думал что всё работает нормально... оказалось не всё. Благодаря тому видео исправлены проблемы сборки под Delphi. :mrgreen:

Добавлено спустя 18 часов 20 минут 47 секунд:
Здесь описал сборку проектов под Android. Так же подобная информация есть в файле с демками для Android.

Добавлено спустя 3 часа 42 минуты 26 секунд:
Выложил на ютубе где собираю демку на Windows под Android.
Seenkao
энтузиаст
 
Сообщения: 526
Зарегистрирован: 01.04.2020 03:37:12

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

Сообщение Seenkao » 30.09.2023 22:36:25

Выпущена версия 4.2.
Проект переехал на SourceForge.

Корректирована работа на MacOS и добавлен файл "документации" для предварительной сборки проектов на MacOS.

Добавлены две демки, 19-я и 20-я показывающие возможности работы с OpenGL 3.3 (19-я ещё ранее добавлена, здесь уже исправленная версия, ZenGL содержит часть необходимого функционала). Демки только для Lazarus! Если у кого есть желание, могут и перевести и под FreePascal и под Delphi.

Добавлена возможность компиляции демок FreePascal для Linux x86_64, как я так пропустил, что данной возможности сборки не было?

Ну и мелочёвка разная...
Seenkao
энтузиаст
 
Сообщения: 526
Зарегистрирован: 01.04.2020 03:37:12

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

Сообщение Снег Север » 01.10.2023 09:28:24

Seenkao писал(а):Выпущена версия 4.2.

Отлично! Проверил на лазаре и ХЕ11 под виндой и на лазаре в кубунту. Мака нет, виртуалку с маком я у себя стёр, на андроиде проверю, как-нибудь...
Аватара пользователя
Снег Север
долгожитель
 
Сообщения: 3038
Зарегистрирован: 27.11.2007 16:14:47

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

Сообщение Seenkao » 01.10.2023 16:52:29

Снег Север писал(а):Отлично!

Не совсем отлично... На Delphi XE я как раз наблюдал мелкие проблемы, и их нет на Delphi 7.

Благодарю за проверку!
Seenkao
энтузиаст
 
Сообщения: 526
Зарегистрирован: 01.04.2020 03:37:12

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

Сообщение Seenkao » 02.10.2023 21:43:43

Обновил последнюю версию, как обычно проявились недочёты для сборок под Android.
Надеюсь всё исправил. :roll:
Seenkao
энтузиаст
 
Сообщения: 526
Зарегистрирован: 01.04.2020 03:37:12

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

Сообщение Seenkao » 19.10.2023 05:55:50

Выпущена новая версия ZenGL 4.3.

Добавлены:
- таймера для проектов Android.
- поддержка Android Studio.

Демки для Android Studio в отдельном каталоге. Путь до проекта собираемого в FPC/Lazarus (например для демки 5) - Zengl_SRC/demos/AndroidStudio/05-Primitives/app/src/main/fpc
Проекты FPC/Lazarus для Android Studio можно собрать из терминала. Из терминала собираются демки сразу для 4-х архитектур: ARMv7a, AARCHv8a, x86_64 и x86. Поэтому у вас должны быть установлены все необходимые кросскомпиляторы. Так же сборку из терминала я делал под Linux, я не обещаю что вы сможете собрать их из других систем.

Компиляция и сборка проекта:
Компилируете демку FPC/Lazarus. Необходимые файлы для демок автоматически будут скопированы в нужные папки для дальнейшей сборки проектов под Android Studio.
Открываете Android Studio и в нём открываете папку с проектом, например демка 5: Zengl_SRC/demos/AndroidStudio/05-Primitives
Проверяете. :)

Будьте внимательны! Если вы собираете проекты из Lazarus, вам нужно будет открыть соответствующие демки, для архитектуры ARMv7a - demoNN_v7a.lpi, для архитектуры AARCHv8a - demoNN_v8alpi, для архитектуры x86 - demoNN_x86.lpi, для архитектуры x86_64 - demoNN_x64.lpi. Вы можете собрать все демки по отдельности. Android Studio будет их все использовать только для одного APK или AAB файлов.
Где NN - номер демки.

Если вы скомпилируете под четыре архитектуры, вы получите APK или AAB файлы которые запустятся на девайсах с данными архитектурами. На данный момент это самые популярные архитектуры для Android. :)

Демки могут содержать недочёты.
16-я демка пока не работает (не собраны библиотеки Chipmunk).
19-я демка работает не полностью. Я сделал пример для ПК, но для мобильных систем для OpenGL ES 2.0 их надо переделывать.
Успехов! 8)

P.S. Классно, даже править ни чего не надо, просто скопировал с основного форума Lazarus текст и сюда перенёс. )))

Добавлено спустя 10 часов 57 минут 29 секунд:
В связи с выпуском ZenGL 4.3 и возможностью сборки проектов используя FPC/Lazarus + Android Studio прикладываю видео показывающие как можно собрать демки ZenGL.
Необходимый минимум для сборки проектов. И сборка проектов с помощью FPC из командной строки и Android Studio.
Сборка проектов используя Lazarus и Android Studio.
:oops:
Seenkao
энтузиаст
 
Сообщения: 526
Зарегистрирован: 01.04.2020 03:37:12

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

Сообщение Alex2013 » 21.10.2023 06:13:49

Еще бы "ZenGL + поддержка Оculus Quest" ... :roll:

Думаю что в принципе это возможно.
Alex2013
долгожитель
 
Сообщения: 3048
Зарегистрирован: 03.04.2013 11:59:44

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

Сообщение Seenkao » 21.10.2023 12:43:58

Alex2013, возможно всё. Только ты немного путаешь, ZenGL работает с ОС, и подаёт изображение на устройство. Потому тут проще наверно тебе использовать ZenGL в качестве вывода. :mrgreen:
От меня может быть потребуются какие-то дополнительные настройки. Там же вроде два рендера создаётся? Значит надо в эти два рендера и выводить изображение. А ZenGL этого пока не может.
Seenkao
энтузиаст
 
Сообщения: 526
Зарегистрирован: 01.04.2020 03:37:12

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

Сообщение Alex2013 » 21.10.2023 16:01:20

Seenkao писал(а):От меня может быть потребуются какие-то дополнительные настройки. Там же вроде два рендера создаётся? Значит надо в эти два рендера и выводить изображение. А ZenGL этого пока не может.

1 По сути там нужно просто сделать доступ к Окулус SDK (https://developer.oculus.com/downloads/ ... tform-sdk/)

2 Два рендера делать необязательно . ( можно сразу генерировать стерео пару в одном или переключать фреймбуфер по очереди ( у меня в технодемке ( хотя это и неоптимально ) три разных "приемника изображения" левый и правый + монитор ) суть прикола в том том что показ все равно происходит условно синхронно( по завершению формирования изображения для обоих глаз )

3 Еще можно сделать "ход конем" и воспользоваться технологией Веб-ВиАр ( банально запустив локальный сервер и стандартный браузер Окулус из своей программы. ) (Разумеется, можно пользоваться возможностями Веб-ВиАр в полном объеме ,(формируя сцену без использования ZenGL) однако но это может быть медленно и будет скорее всего не очень красиво, но можно сделать аналог "доступа к веб-камере" на обычном сайте и просто подгружать текстуры на "проекционную сферу" или "виртуальный экран" через примитивный J-скрипт .

4 Не знаю можно ли это провернуть для андроид (хотя что может помешать этому я даже не представляю ) но OpenGL для виды вполне можно заставить рендерить кадр в обычный TBitMap , а уж что с ним делать дальше (и сколько раз его пересчитывать ) зависит исключительно от воображения разработчика программы.
Изображение
Alex2013
долгожитель
 
Сообщения: 3048
Зарегистрирован: 03.04.2013 11:59:44

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

Сообщение Seenkao » 22.10.2023 19:38:57

Seenkao
энтузиаст
 
Сообщения: 526
Зарегистрирован: 01.04.2020 03:37:12

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

Сообщение Alex2013 » 23.10.2023 14:53:52

Seenkao писал(а):Alex2013, это? Oculus Rift.


Вроде того... ( я вообще-то имел ввиду автономные Oculus Quest 1-3 (и pro) там вполне нормальный андроид )

Демки собранные в Лазарусе (включая и те что используют OpenGL ) там вполне запускаются. ( у меня была проблема только в доступе именно к "Vr SDK" )
Изображение
"СисИнфо" (Модель SOC определяет не верно но все прочие похоже на правду )
Изображение
Alex2013
долгожитель
 
Сообщения: 3048
Зарегистрирован: 03.04.2013 11:59:44

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

Сообщение Seenkao » 31.12.2023 18:40:06

Первые тесты геймпада на Android.
https://youtu.be/Hur74zeLEQw

Так что можно ждать поддержки. Правда там тоже кучу тестов надо будет делать.
С наступающим! :D
Seenkao
энтузиаст
 
Сообщения: 526
Зарегистрирован: 01.04.2020 03:37:12

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

Сообщение Seenkao » 03.01.2024 23:48:24

Встречайте новую версию ZenGL 4.4.

Добавлено:
- поддержка геймпадов для Android. Используйте проекты для Android Studio, проекты для Eclipse пока не переделывались и не проверялись. Демо 3 показывает пример использования геймпадов.
- добавление функций в zgl_camera_2d.
- исправления в модуле zgl_collision_2d. Благодарность matthius за тесты кода. Тема от matthius.
- какие-то ещё мелкие изменения, но я уже не помню. Всё записывал в файле обновления идущим вместе с ZenGL.

Обновил Wiki, и немного добавил документации.
Seenkao
энтузиаст
 
Сообщения: 526
Зарегистрирован: 01.04.2020 03:37:12

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

Сообщение ArmanHayots » 13.01.2024 16:57:50

Большое спасибо автору. Это вообще первое что-то, что у меня заработало; любые другие попытки подружить паскаль и андроид по инструкциям из сети заканчивались примерно ничем.
Связка из студии и лазаруса работает, примеры успешно бегают, осталось вникнуть в суть.
Автор не будет против, если в проектах (пусть и пока учебных) будет упоминание использования ZenGL?
Аватара пользователя
ArmanHayots
незнакомец
 
Сообщения: 3
Зарегистрирован: 13.01.2024 16:51:49

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

Сообщение Seenkao » 14.01.2024 23:07:11

ArmanHayots писал(а):Большое спасибо автору. Это вообще первое что-то, что у меня заработало; любые другие попытки подружить паскаль и андроид по инструкциям из сети заканчивались примерно ничем.
Связка из студии и лазаруса работает, примеры успешно бегают, осталось вникнуть в суть.

Пожалуйста! Рад что кому-то пригодилось!

Автор не будет против, если в проектах (пусть и пока учебных) будет упоминание использования ZenGL?

Я всё-таки не автор, я соавтор. :mrgreen: Точнее сказать "главный разработчик" после полного ухода Андрея.
Думаю это будет дополнительная реклама для ZenGL, так что я точно не против! )))
Seenkao
энтузиаст
 
Сообщения: 526
Зарегистрирован: 01.04.2020 03:37:12

Пред.След.

Вернуться в Общее

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7

Рейтинг@Mail.ru