Recent

Author Topic: ZenGL Update ++android  (Read 2297 times)

Seenkao

  • Jr. Member
  • **
  • Posts: 97
ZenGL Update ++android
« on: April 01, 2020, 12:53:33 am »
Поднял библиотеку и доработал некоторые части. Основную часть проверил, но за всё отвечать не могу.

Проверил работу приложений на Linux, Windows, Android (но большей частью приходилось собирать всё на Windows)
---------------------------------------------------------------------------------------------------------------------
Внимание! Для новых версий FPC (> 3.0.4) для Unix-систем и не LCL в запускаемом модуле обязательно надо выставлять:
Code: Pascal  [Select][+][-]
  1. uses
  2. {$IFDEF UNIX}
  3.    cthreads;
  4. {$ENDIF}
----------------------------------------------------------------------------
ZenGL 3.25 и последующие версии

ZenGL 3.24

ZenGL 3.20

----------------------------------------------------------------------------

Сопутствующие видео:
решение проблем, связанных с запуском приложений на Android.

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

Сайт Andru - основная информация не поменялась, кроме исходного кода. Поэтому, что-то нужное там всё же найдёте.

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

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

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

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

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

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

Благодарю за внимание.  :)
« Last Edit: October 10, 2020, 12:09:16 pm by Seenkao »

skalogryz

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 2532
    • havefunsoft.com
Re: ZenGL 3.20 ++android
« Reply #1 on: April 01, 2020, 05:43:48 am »
хорошая работа!

а почему на яндекс-диске, а не гитхабе? :)

скажу за себя: https://github.com/skalogryz/zengl - тут есть "последний" zengl, но с правками под 64-битность.

Проблемы с компиляцией под андроид могут возникнуть в множестве случаев. Смотрите видео, задавайте вопросы.
исходники ZenGL требуют корректировки.
последний "официальный" ZenGL писался ещё когда Android не был выведен в отдельную целевую платформу, для него использовасля Linux. (чем по-сути native android и ялвяется)
« Last Edit: April 01, 2020, 05:47:15 am by skalogryz »
Patron Cocoa Widgetset development https://www.patreon.com/skalogryz

Seenkao

  • Jr. Member
  • **
  • Posts: 97
Re: ZenGL 3.20 ++android
« Reply #2 on: May 16, 2020, 06:07:14 pm »
https://youtu.be/IGFjcyWu4Ew - занимаюсь разработкой джойстиков и клавиатуры под андроид. Если есть какие мысли, что надо переделать или что-то изменить, был бы благодарен за информацию!!!

Так же, пока занимался разработкой, приходилось многие вещи доделывать, постарался исправить множество моментов, так же которые были описаны некоторыми людьми.

В следующей версии поддержка 64-х битной системы Windows реализована, были некоторые недоработки в дефайнах, случайно заметил, после подсказки одного из отписавшихся. Подредактировал редактор фонта, и надеюсь его теперь можно будет запустить везде. Ну и ещё куча разных доработок, о которых может уже и не упомню

Seenkao

  • Jr. Member
  • **
  • Posts: 97
Re: ZenGL Update ++android
« Reply #3 on: August 08, 2020, 09:19:13 pm »
Всем привет!

Я продолжаю работать с ZenGL, но, чтоб вам было понятно, для меня сам ZenGL - это несколько основных файлов по созданию рабочего проекта/программы под определённую ОС или под несколько или, возможно, и под все сразу. Изначально меня интересовала разработка под Windows и Linux. Но столкнувшись (уже более полугода как) с тем что ZenGL может создавать программы и под Android, я всё же решил использовать это для своего развития, и возможно для развития самого ZenGL.

За прошедшее время, пока я хотел разобраться как можно создать джойстики, а потом меня осенило - создать клавиатуру... А потом меня ещё осенило и я понял, что это возможность создавать меню для любой платформы.

И я утопал всё глубже и глубже... Одно тянуло за собой другое... потом третье и т. д. Заниматься этим можно вечно и так ни чего и не выпустить в свет. Поэтому меню/джойстики на данной версии откладываются, так как они вытянули очень много не решённых до этого "проблем" и меню будет уже в другой версии... Но она будет не совсем совместима со старыми версиями, особенно это касается Android.

-----------------------------------------------------------------------------------------------------------------------
Изменения в версии 0.3.24:

- Версия стабильно компилирует под Win64, изменено для версий FPC > 3

- Для Windows, теперь "ALT" + клавиша не вызывает системных звуков

- Для Linux - теперь создаётся рабочая дирректория, но помните!!! Это может быть общий каталог, куда вы "установили" свою программу. Поэтому это сделано для тех программ (которые вы создаёте) для которых вы выделяете отдельный каталог

- Введено несколько дефайнов:

- Escape = exit

- Дефайны для полных версий OpenGL, но пока реализовано только для OpenGL ES, в дальнейшем коснётся и самого OpenGL для компьютеров

- для инициализации под LCL/VCL (handle - окна), по умолчанию включены в данной версии, в следующих версиях по умолчанию будет отключено

- редактированы дефайны под Android, исключён не используемый код

- вернул некоторые функции (которые удалил ранее :/ понял что если человек будет создавать библиотеку, то они нужны будут), некоторые немного изменил, так же исключая повторный и не используемый код

- дополнил OpenGL ES (1.0) отсутствующими, до этого времени, функциями (кроме glColor4f, в данной версии она сделана под определённую работу и занята), так же указаны не используемые функции версии 1.1

- дополнил OpenGL недостающими функциями, но немногими, очень много ещё отсутствует


!!! Внимание!!! Поддержка создания библиотек отключена!!! zglHeader.pas не редактирован, и возможно не пригоден для использования. Если хотите попробовать, берите его в версии 0.3.12 (так же надо будет восстанавлиать демо-версии как в версии 0.3.12)

Ещё одна причина отказа от поддержки LCL библиотек, это то, что я не запустил демо-версии на FPC + LCL.
(Но вот ZenFont(LCL) запустить удалось, так что возможно проблема где-то на поверхности).

- в демо-версии со звуком показано как остановить звуки, для их изначального воспроизведения. Звук теперь можно "передвигать" (в версии OpenAL)

- Множественные изменения в файлах, для облегчения кода и более корректной работы. (а возможно и нет...)

- Множественные изменения под разработку под Android. Изменён файл ZenGL.java, корректирована работа Android приложений под коснувшиеся изменения.

- ZenFont теперь можно запускать и под Delphi 7. Так же редактирована работа приложения, введены некоторые ограничения на работу приложения, для избежания ошибок при создании нового шрифта.

-----------------------------------------------------------------------------------------------------------------------

Дальнейшие планируемые изменения:
- Введение джойстиков/меню для Android, а так же возможность использовать меню и создавать своё меню для компьютеров.

- расширение OpenGL или возможность подключения dglOpenGL (будет возможность создавать умельцам как 3D- приложения, так и работы с шейдерами).

- после расширения OpenGL будет поддержка освещения и возможно тумана. И вероятно многое другое, что включено в OpenGL.

- доработка OpenAL. (если руки дойдут)

-----------------------------------------------------------------------------------------------------------------------

Прошу многих извинить!!! Но специально заниматься разработкой/доработкой под MacOS/iOS в данное время не буду. Так же специальной поддержкой DelphiXE заниматься не буду. Большинство примеров под Delphi 7 будут работать и под DelphiXE для Windows. Возможно, если DelphiXE поддерживает, будет поддержка Linux. Если DelphiXE поддерживает приложения под Linux, просьба сообщить мне об этом (сильного желания устанавливать эту среду программирования, нет).

Так же не буду продолжать поддержку DirectX, это в ваших руках, но на это так же надо потратить много времени.


Множество вопросов по работе с ZenGL решены и приведены в примерах. Примеры смотрите под Delphi 7, Lazarus и Android.
Под FP (без Lazarus), MacOS и iOS я не переделывал примеры, их можно так же переделать, подсмотрев в других примерах указанных выше.

До документации пока руки не дойдут, за это больше всего извиняюсь! На сайте zengl.org смотрите, там достаточно не мало информации.

-----------------------------------------------------------------------------------------------------------------------

Теперь относительно Android. Google отказалось от поддержки 32-х битных версий программ... а точнее программ, которые содержат 32-х битный код...
Это очередная долгая песня. Надо искать скомпилированные библиотеки под 64-х битную систему, и потому в данное время я этим заниматься не буду.
Если у вас есть данные библиотеками, то вы можете ими поделиться или поделиться ссылками на них. Потому что кроме самих библиотек, надо будет и настраивать компиляцию под 64-х битную систему и решать все выявляющиеся проблемы.

Меня устроит и 32-х битная система, так как она вполне запускается и на более поздних версиях телефонов и уж точно запустится на большинстве телефонов. )))

-----------------------------------------------------------------------------------------------------------------------

Все вопросы можете задавать на форуме сайта zengl.org , или задавая вопросы мне:
M12Mirrel@yandex.ru - почта
https://www.youtube.com/channel/UCn46Rn ... g/featured - канал на ютубе, выкладываю периодически видео может кому полезно будет. Ну, или так же на форумах, просматриваю темы, по возможности отвечаю (или отмечаю о недоработках для себя)

-----------------------------------------------------------------------------------------------------------------------

Всего доброго, до встреч!

P.S. Шапка обновлена, исходник выложен
« Last Edit: August 08, 2020, 09:25:27 pm by Seenkao »

Seenkao

  • Jr. Member
  • **
  • Posts: 97
Re: ZenGL Update ++android
« Reply #4 on: August 11, 2020, 05:47:47 pm »
Обнаружена ошибка, с которой уже давно борюсь, но не мог понять в чём проблема. После обновления FPC до версии 3.2 проблема выявилась более явно, но для LCL это было не заметно, а вот для большинства приложений ZenGL, не использующих LCL очень сильно сказалось...

Шапка обновлена!!!
Для Unix- систем обязательно в запускаемом файле должно идти самым первым модулем!!! :
Code: Pascal  [Select][+][-]
  1. uses
  2. {$IFDEF UNIX}
  3. cthreads;
  4. {$ENDIF}
  5.  
В противном случае ваше приложение может вылетать с ошибкой.
« Last Edit: August 11, 2020, 06:01:31 pm by Seenkao »

Seenkao

  • Jr. Member
  • **
  • Posts: 97
Re: ZenGL Update ++android
« Reply #5 on: September 28, 2020, 04:25:13 am »
Всем привет!

Представляю новую версию ZenGL! 3.25!!!
ссылка на скачивание: https://yadi.sk/d/ka6mbI5UQwd0Cw

Изменения коснулись в основном LCL(VCL)-приложений. Так как выяснилось, что ZenGL не отвечал на некоторые системные запросы формы. В том числе клавиатуры и мыши. В следствии чего пришлось перерабатывать библиотеку, для возможности работы с клавиатурой и мышью, но некоторые функции и процедуры теперь не работают, если вы используете не нативное приложение. Но это вполне можно компенсировать всеми библиотеками Lazarus, ведь теперь ZenGL дружественно себя ведёт с LCL-приложениями.

Так же были запросы по поводу работы ZenGL на MacOS. Я проверил, OpenGL работает на MacOS, но с определёнными ограничениями. Поэтому так же введу поддержу MacOS, но работать эти приложения будут только под LCL, не нативно.

Парочка видео:
https://youtu.be/OAyIcvzWbtw
https://youtu.be/nsbjTGZfwwU

Да, забыл, в процессе были обьеденены два файла zgl_window и zgl_main, второго файла больше не существует. Поэтому где встретиться ошибка, удалить или заменить по надобности.

Seenkao

  • Jr. Member
  • **
  • Posts: 97
Re: ZenGL Update ++android
« Reply #6 on: November 15, 2020, 04:59:53 pm »
ZenGL in MacOS, удалось запустить демо-версию  >:D, правда в самом ZenGL было почти всё отключено.

Так что осталось только всё на доработку отправить и настроить для полной совместимости с MacOS. 8-)

 

TinyPortal © 2005-2018