Recent

Author Topic: ZenGL Update +android + MacOS Cocoa + Green Engine  (Read 38010 times)

shyub

  • Full Member
  • ***
  • Posts: 142
Re: ZenGL Update +android + MacOS Cocoa + Green Engine
« Reply #30 on: May 07, 2023, 12:38:26 pm »
А где можно скачать документацию на ZenGL?
Ссылки http://andru-kun.inf.ua/zengl.html и https://www.zengl.org/wiki/doku.php не работают.

Handoko

  • Hero Member
  • *****
  • Posts: 5376
  • My goal: build my own game engine using Lazarus

Seenkao

  • Hero Member
  • *****
  • Posts: 612
    • New ZenGL.
Re: ZenGL Update +android + MacOS Cocoa + Green Engine
« Reply #32 on: May 10, 2023, 12:46:04 am »
А где можно скачать документацию на ZenGL?
Ссылки http://andru-kun.inf.ua/zengl.html и https://www.zengl.org/wiki/doku.php не работают.
Если поискать, то где-то валяются ещё на просторах интернета ссылки на документацию. Можно через архивы зайти на старый сайт ZenGL-а.

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

Handoko, this is for python.
Rus: Стремлюсь к созданию минимальных и достаточно быстрых приложений.

Eng: I strive to create applications that are minimal and reasonably fast.
Working on ZenGL

Seenkao

  • Hero Member
  • *****
  • Posts: 612
    • New ZenGL.
Re: ZenGL Update +android + MacOS Cocoa + Green Engine
« Reply #33 on: June 26, 2023, 02:24:44 am »
  Выпущена новая версия 4.0. В связи с глобальными изменениями.

  Произведено много изменений:
  - удалён "старый" код, вместо него сейчас используются обновлённые методы и Green Engine.
  - добавлены библиотеки (в основном динамические) Ogg, Vorbis, Theora, LibZip, turboJPG для Android v7a/v8a/x86/x86_64.
  - корректирован код в соответствии с изменениями в Android.
  - для 32-х битных систем ARM добавлен и включен по умолчанию новый дефайн CPUARMV7A. При необходимости собрать приложение для более старых версий Android (v5, v6) его нужно отключить.
  - удалены объектные файлы для не поддерживаемых систем.
  - разделены демки для Android. Паскалевсий файл остаётся один, а проектов стало шесть. Для каждой архитектуры свой.
  - файлы предварительного запуска (*.sh) теперь встроены в проект и их не обязательно запускать вручную. Батники для Windows удалены, Lazarus справляется с *.sh в Windows хорошо.

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

  Если кто будет работать под MacOS, то вероятнее всего придётся использовать версию 3.30.

и пусть Chipmunk подождёт... 16-я демка работать не будет пока для новых Android ну и для Мака. Это всё позже.


Google translate:
  New version 4.0. Released due to global changes.

   Many changes have been made:
   - "old" code removed, updated methods and Green Engine are now used instead.
   - added libraries (mostly dynamic) Ogg, Vorbis, Theora, LibZip, turboJPG for Android v7a/v8a/x86/x86_64.
   - code has been corrected in accordance with changes in Android.
   - for 32-bit ARM systems, a new define CPUARMV7A has been added and enabled by default. If you need to build an application for older versions of Android (v5, v6), you need to disable it.
   - Removed object files for unsupported systems.
   - demos for Android: each architecture has its own. Pascal file remains one, and there are six projects.
   - pre-launch files (*.sh) are now built into the project and it is not necessary to launch them manually. *.bat for Windows removed, Lazarus handles *.sh on Windows well.

   it was a chore... libraries kill a lot of time... especially in languages that you don't use, but only read the code.

   If someone will work under MacOS, then most likely you will have to use version 3.30.

and let Chipmunk wait... Demo 16 won't work for the new Androids and Macs yet. This is all later.
Rus: Стремлюсь к созданию минимальных и достаточно быстрых приложений.

Eng: I strive to create applications that are minimal and reasonably fast.
Working on ZenGL

Seenkao

  • Hero Member
  • *****
  • Posts: 612
    • New ZenGL.
Re: ZenGL Update +android + MacOS Cocoa + Green Engine
« Reply #34 on: June 28, 2023, 12:22:10 pm »
Корректировал код ZenGL для Android и Windows. До этого проверял только на Linux и отдельных версиях Android.
 :-[ Версия ZengL 4.0 теперь стабильна. Все демки запускаются без особых проблем для всех ОС и всех архитектур, кроме MacOS.
Не все условия выполнены для работы ZenGL на MacOS.

Так же, я считаю, что проекты от ZenGL смогут заработать на портативных консолях Steam Deck, ROC Ally и прочих компьютеро-подобных консолях. Для Steam Deck надо компилировать под Linux, для ROC Ally под Wondows.
Проблема будет только в поддержке управляющих элементов. А у меня нет ни каких контроллеров и ни каких портативных консолей, чтобы можно было корректировать код ZenGL под контроллеры. Будет ли работать код из zgl_joystick я не знаю. Это было сделано больше 10 лет назад. Так что, если кто хочет, может попробовать.

Google translate:
Corrected the ZenGL code for Android and Windows. Before that, I only tested it on Linux and certain versions of Android.
 :-[ Version ZengL 4.0 is now stable. All demos run without any problems for all operating systems and all architectures except MacOS.
Not all conditions are met for ZenGL to work on MacOS.

Also, I believe that projects from ZenGL will be able to make money on portable consoles Steam Deck, ROC Ally and other computer-like consoles. For Steam Deck you need to compile under Linux, for ROC Ally under Windows.
The problem will be only in the support of controls. And I don't have any controllers or any portable consoles so that I can adjust the ZenGL code for controllers. Whether the code from zgl_joystick will work, I don't know. This was done over 10 years ago. So, if anyone wants, they can try.
Rus: Стремлюсь к созданию минимальных и достаточно быстрых приложений.

Eng: I strive to create applications that are minimal and reasonably fast.
Working on ZenGL

Seenkao

  • Hero Member
  • *****
  • Posts: 612
    • New ZenGL.
Re: ZenGL Update +android + MacOS Cocoa + Green Engine
« Reply #35 on: July 04, 2023, 05:02:31 pm »
Большую часть библиотеки стабилизировал (кроме MacOS). Обновил первый пост.
Добавил информацию по сборке проектов под Android.

Most of the library stabilized (except MacOS). Updated the first post.
Added information on building projects for Android.
Rus: Стремлюсь к созданию минимальных и достаточно быстрых приложений.

Eng: I strive to create applications that are minimal and reasonably fast.
Working on ZenGL

funlw65

  • Full Member
  • ***
  • Posts: 149
    • Visual Pin Configurator for Nucleo 64pin boards
Re: ZenGL Update +android + MacOS Cocoa + Green Engine
« Reply #36 on: August 30, 2023, 05:20:28 pm »
ZenFont(LCL) tool needs update, please!

zgl_InitToHandle cannot be used... version 3.30, 4.0.

Solved by defining/activating USE_INIT_HANDLE in zgl_config.cfg
and using utf8_GetID instead of utf8_toUnicode.

Also, the Lazarus project had to be modified in adding "../../headers" to the path.
« Last Edit: August 30, 2023, 06:42:37 pm by funlw65 »
FreePascal 3.2.2, C 10.2.1, D 1.24 under Linux(init,musl,glibc), DragonflyBSD, NetBSD
gui: gtk2, qt5, raylib4.x+raygui3.x, nanovg 
tui: freevision, tvision2, termbox2+widgets, finalcut
db: typhoon-1.11...

funlw65

  • Full Member
  • ***
  • Posts: 149
    • Visual Pin Configurator for Nucleo 64pin boards
Re: ZenGL Update +android + MacOS Cocoa + Green Engine
« Reply #37 on: August 30, 2023, 09:22:47 pm »
BTW, why the examples for FreePascal (not Lazarus) are still dependent and linked against gtk2?
FreePascal 3.2.2, C 10.2.1, D 1.24 under Linux(init,musl,glibc), DragonflyBSD, NetBSD
gui: gtk2, qt5, raylib4.x+raygui3.x, nanovg 
tui: freevision, tvision2, termbox2+widgets, finalcut
db: typhoon-1.11...

Seenkao

  • Hero Member
  • *****
  • Posts: 612
    • New ZenGL.
Re: ZenGL Update +android + MacOS Cocoa + Green Engine
« Reply #38 on: August 30, 2023, 10:36:38 pm »
Solved by defining/activating USE_INIT_HANDLE in zgl_config.cfg
and using utf8_GetID instead of utf8_toUnicode.
Это было указано в демке. Большинство демок сделаны для нативного создания окна (не LCL), потому данное определение отключено по умолчанию.
Google translate: This was stated in the demo. Most demos are made for native window creation (not LCL), so this definition is disabled by default.  :)

and using utf8_GetID instead of utf8_toUnicode.
Благодарю! Вижу не исправил это для программы создания шрифтов. Думаю надо добавить файл конфигурации в ZenFont отдельно для данной программы (будет помощь новичкам, кто не разбирается).
Google translate: Thank you I see didn't fix it for the font creation program. I think it is necessary to add a configuration file to ZenFont separately for this program (there will be help for beginners who do not understand).

Also, the Lazarus project had to be modified in adding "../../headers" to the path.
Благодарю! Это надо исправить.
Google translate: Thank you This must be corrected.


BTW, why the examples for FreePascal (not Lazarus) are still dependent and linked against gtk2?
Немного позже посмотрю что к чему. Возможно в новых версиях это не обязательно.
Google translate:A little later I'll see what's what. It may not be necessary in newer versions.


funlw65, в дальнейшем я бы вам советовал для каждого своего проекта создавать свой файл конфигурации (zgl_config.cfg).
Google translate: funlw65, in the future I would advise you to create your own configuration file (zgl_config.cfg) for each of your projects.  :)
Rus: Стремлюсь к созданию минимальных и достаточно быстрых приложений.

Eng: I strive to create applications that are minimal and reasonably fast.
Working on ZenGL

Seenkao

  • Hero Member
  • *****
  • Posts: 612
    • New ZenGL.
Re: ZenGL Update +android + MacOS Cocoa + Green Engine
« Reply #39 on: September 30, 2023, 12:16:22 am »
Новая версия ZenGL 4.2.

Проект переехал на SourceForge.
В данной версии корректировал демки для MacOS. И добавил файл документации по подготовке проекта к сборке (установка внешних библиотек).

Добавлены две демки 19-я и 20-я которые показывают возможность работы ZenGL с OpenGL 3.3. Только для Lazarus!

Добавлена возможность компиляции демок FreePascal для Linux x86_64 (до этого отсутствовала).
Так же были ещё небольшие изменения.

----------------------------------------------------------------------------
Google translate:
New version ZenGL 4.2.

The project has moved to SourceForge.
In this version, I corrected the demos for MacOS. And I added a documentation file for preparing the project for assembly (installing external libraries).

Two demos have been added, 19th and 20th, which show the ability of ZenGL to work with OpenGL 3.3. Only for Lazarus!

Added the ability to compile FreePascal demos for Linux x86_64 (previously missing).
There were also some other minor changes.
Rus: Стремлюсь к созданию минимальных и достаточно быстрых приложений.

Eng: I strive to create applications that are minimal and reasonably fast.
Working on ZenGL

Seenkao

  • Hero Member
  • *****
  • Posts: 612
    • New ZenGL.
Re: ZenGL Update +android + MacOS Cocoa + Green Engine
« Reply #40 on: October 02, 2023, 07:32:03 pm »
Произведена очередная коррекция кода и настроек для Windows и Android.
Вроде достаточно стабилизировал версию, но могут быть неточности.

Google translate:
Another correction of the code and settings for Windows and Android has been made.
It seems to have stabilized the version sufficiently, but there may be inaccuracies.
 ::)
Rus: Стремлюсь к созданию минимальных и достаточно быстрых приложений.

Eng: I strive to create applications that are minimal and reasonably fast.
Working on ZenGL

Seenkao

  • Hero Member
  • *****
  • Posts: 612
    • New ZenGL.
Re: ZenGL Update +android + MacOS Cocoa + Green Engine
« Reply #41 on: October 19, 2023, 03:30:30 am »
Выпущена новая версия 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)

-----------------------------------------------------------
Google translate:
A new version has been released ZenGL 4.3.

Added:
- timers for Android projects.
- support for Android Studio.

   Demos for Android Studio in a separate directory. The path to the project compiled in FPC/Lazarus (for example, for demo 5) is Zengl_SRC/demos/AndroidStudio/05-Primitives/app/src/main/fpc
FPC/Lazarus projects for Android Studio can be built from the terminal. Demos are collected from the terminal for 4 architectures at once: ARMv7a, AARCHv8a, x86_64 and x86. Therefore, you must have all the necessary cross-compilers installed. I also did the assembly from the terminal under Linux, I do not promise that you will be able to assemble them from other systems.

   Compiling and assembling the project:
   Compile the FPC/Lazarus demo. The necessary files for the demos will be automatically copied to the necessary folders for further assembly of projects under Android Studio.
   Open Android Studio and in it open the folder with the project, for example demo 5: Zengl_SRC/demos/AndroidStudio/05-Primitives
   Checking. :)

   Be careful! If you are building projects from Lazarus, you will need to open the corresponding demos, for the ARMv7a architecture - demoNN_v7a.lpi, for the AARCHv8a architecture - demoNN_v8alpi, for the x86 architecture - demoNN_x86.lpi, for the x86_64 architecture - demoNN_x64.lpi. You can collect all demos separately. Android Studio will only use them all for one APK or AAB file.
   Where NN is the demo number.

   If you compile for four architectures, you will receive APK or AAB files that will run on devices with these architectures. At the moment these are the most popular architectures for Android. :)

Demos may contain bugs.
  The 16th demo does not work yet (the Chipmunk libraries have not been compiled).
  The 19th demo does not work completely. I made an example for PC, but for mobile systems they need to be remade for OpenGL ES 2.0.
Good luck!  8)
« Last Edit: October 19, 2023, 03:34:22 am by Seenkao »
Rus: Стремлюсь к созданию минимальных и достаточно быстрых приложений.

Eng: I strive to create applications that are minimal and reasonably fast.
Working on ZenGL

dekasoft

  • Newbie
  • Posts: 1
Re: ZenGL Update +android + MacOS Cocoa + Green Engine
« Reply #42 on: November 23, 2023, 01:38:18 pm »
Отличная работа!

Seenkao

  • Hero Member
  • *****
  • Posts: 612
    • New ZenGL.
Re: ZenGL Update +android + MacOS Cocoa + Green Engine
« Reply #43 on: January 03, 2024, 08:22:30 pm »
Всех с Новым Годом! ;)

Отличная работа!
благодарю! Видел ранее, но забыл ответить... извиняюсь. )))

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

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

Обновил Wiki, и немного добавил документации.


------------------------------------------------------------
Google translate:
Happy New Year everyone! ;)

Meet the new version ZenGL 4.4.

Added:
- support for gamepads for Android. Use projects for Android Studio, projects for Eclipse have not yet been redesigned or tested. Demo 3 shows an example of using gamepads.
- adding functions to zgl_camera_2d.
- fixes in the zgl_collision_2d module. Thanks to matthius for testing the code. Topic by matthius.
- some other minor changes, but I don’t remember anymore. I recorded everything in the update file that came with ZenGL.

Updated the Wiki and added some documentation.
« Last Edit: January 03, 2024, 08:39:36 pm by Seenkao »
Rus: Стремлюсь к созданию минимальных и достаточно быстрых приложений.

Eng: I strive to create applications that are minimal and reasonably fast.
Working on ZenGL

Seenkao

  • Hero Member
  • *****
  • Posts: 612
    • New ZenGL.
Re: ZenGL Update +android + MacOS Cocoa + Green Engine
« Reply #44 on: January 09, 2024, 12:01:09 am »
Выпущена версия ZenGL 4.5.

Доработана работа с контроллерами для Android. Теперь  ZenGL может определять отключение гуймпада от устройства Android.
Доработана 19-я демка для Android. Показан пример работы ZenGL с GLES 2.0. Так же можно делать и для более новых версий GLES.
Корректировано отображение виртуальной клавиатуры. Для всех мобильных устройств в дальнейшем.

Google translate:
Version ZenGL 4.5 has been released.

Work with controllers for Android has been improved. ZenGL can now detect when the controller is disconnected from an Android device.
The 19th demo for Android has been improved. An example of ZenGL working with GLES 2.0 is shown. The same can be done for newer versions of GLES.
The display of the virtual keyboard has been corrected. For all mobile devices in the future.
Rus: Стремлюсь к созданию минимальных и достаточно быстрых приложений.

Eng: I strive to create applications that are minimal and reasonably fast.
Working on ZenGL

 

TinyPortal © 2005-2018