Lazarus

Other Languages => Russian => Topic started by: Seenkao on April 01, 2020, 12:53:33 am

Title: ZenGL Update +android + MacOS Cocoa + Green Engine
Post by: Seenkao on April 01, 2020, 12:53:33 am
Rus:
Текущая версия: ZenGL 0.4.7 (download) (https://sourceforge.net/projects/new-zengl/)

ZenGL - это библиотека создающая контекст окна для работы с OpenGL на разных платформах. Так же, это игровой 2D движок, позволяющий писать игры (приложение), без знаний OpenGL.
На данное время, есть возможность использования полного OpenGL и OpenGL ES (начиная с версии 0.4.3).
Green Engine - это наработки над ZenGL, своеобразное API.

Среда разработки и поддерживаемые платформы для:
Lazarus/FreePascal:
   - Windows 32/64
   - Linux 32/64
   - Android ARM32(v5, v6, v7a)/ARM64(v8a)/x86/x86_64
   - Портативные компьютеры: Steam Deck, Rog Ally, Ayaneo и другие основанные на ОС Windows и Linux.
   - MacOS Cocoa beta version

Delphi:
   - Windows 32 (вероятно некоторые демо-версии будут работать и с Windows 64, но точно не все)

!!! Здесь информация по сборке проекта под Android! (https://forum.lazarus.freepascal.org/index.php/topic,49143.msg438875.html#msg438875)
---------------------------------------------------------------------------------------------------------------------

Eng:
Google translate:
Current version: ZenGL 0.4.7 (download) (https://sourceforge.net/projects/new-zengl/)

ZenGL is a window context library for working with OpenGL on different platforms. Also, this is a 2D game engine that allows you to write games (applications) without knowledge of OpenGL.
At this time, it is possible to use full OpenGL and OpenGL ES (starting from version 0.4.3).
Green Engine are developments on ZenGL, a kind of API.

Development environment and supported platforms for:
Lazarus/FreePascal:
    - Windows 32/64
    - Linux 32/64
    - Android ARM32(v5, v6, v7a)/ARM64(v8a)/x86/x86_64
    - Portable computers: Steam Deck, Rog Ally, Ayaneo and others based on Windows and Linux OS.
    - MacOS Cocoa beta version

Delphi:
    - Windows 32 (probably some demos will work with Windows 64, but definitely not all)

!!! Here is information on building a project for Android! (https://forum.lazarus.freepascal.org/index.php/topic,49143.msg438875.html#msg438875)
see more information on GitHub.

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

ZenGL до версии 4.2 (GitHub) (https://github.com/Seenkao/New-ZenGL)
ZenGL 3.24 (https://yadi.sk/d/s2D7RYTuGlVagw)
ZenGL 3.20 (https://yadi.sk/d/fN0CHqyipiu_Iw)

и версия от Скалогрыза (https://github.com/skalogryz/zengl) - данная версия должна работать с iOS.
---------------------------------------------------------------------------------------------------------------------

Сопутствующие видео:
решение проблем, связанных с запуском приложений на Android. (https://www.youtube.com/playlist?list=PLKRkz7NEae7EUpJ0x5NlOJm1OGiwPBiLH)

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

На данный момент проверено большинство демок для Android под большинство поддерживаемых архитектур! 8)

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

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

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

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

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

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

Благодарю за внимание.  :)
Title: Re: ZenGL 3.20 ++android
Post by: skalogryz on April 01, 2020, 05:43:48 am
хорошая работа!

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

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

Проблемы с компиляцией под андроид могут возникнуть в множестве случаев. Смотрите видео, задавайте вопросы.
исходники ZenGL требуют корректировки.
последний "официальный" ZenGL писался ещё когда Android не был выведен в отдельную целевую платформу, для него использовасля Linux. (чем по-сути native android и ялвяется)
Title: Re: ZenGL 3.20 ++android
Post by: Seenkao on May 16, 2020, 06:07:14 pm
https://youtu.be/IGFjcyWu4Ew - занимаюсь разработкой джойстиков и клавиатуры под андроид. Если есть какие мысли, что надо переделать или что-то изменить, был бы благодарен за информацию!!!

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

В следующей версии поддержка 64-х битной системы Windows реализована, были некоторые недоработки в дефайнах, случайно заметил, после подсказки одного из отписавшихся. Подредактировал редактор фонта, и надеюсь его теперь можно будет запустить везде. Ну и ещё куча разных доработок, о которых может уже и не упомню
Title: Re: ZenGL Update ++android
Post by: Seenkao 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. Шапка обновлена, исходник выложен
Title: Re: ZenGL Update ++android
Post by: Seenkao 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.  
В противном случае ваше приложение может вылетать с ошибкой.
Title: Re: ZenGL Update ++android
Post by: Seenkao 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, второго файла больше не существует. Поэтому где встретиться ошибка, удалить или заменить по надобности.
Title: Re: ZenGL Update ++android
Post by: Seenkao on November 15, 2020, 04:59:53 pm
ZenGL in MacOS (https://youtu.be/UamF0DXCeno), удалось запустить демо-версию  >:D, правда в самом ZenGL было почти всё отключено.

Так что осталось только всё на доработку отправить и настроить для полной совместимости с MacOS. 8-)
Title: Re: ZenGL Update ++android
Post by: Seenkao on December 20, 2020, 01:29:18 am
Представляю вашему вниманию новую версию ZenGL (https://github.com/Seenkao/New-ZenGL).
Введена новая работа с таймерами и шрифтами.
Таймера теперь можно запускать и останавливать в любое время, а так же это можно делать с задержкой. ограничено 20-ю таймерами.
Так же, теперь можно работать с несколькими разными шрифтами одновременно, не более 5.

Введено ограничение FPS для всех PC-систем. Это не то же самое что вертикальная синхронизация!!! При установке FPS > 60, вертикальная синхронизация автоматически включается (не все мониторы поддерживают частоту > 60 Гц).
Возможные значения ограничения FPS = 30, 60, 75, 85, 90, 100, 120 и 144. Исключающие эти значения будут переведены в значение 60.

Сопутствующие видео на моём канале. (https://www.youtube.com/channel/UCn46Rnq_opul3pxkCLtYPYg)

New modification for ZenGL. I'm sorry, use google translate. :)

Eng:
I present to your attention a new version of ZenGL (https://github.com/Seenkao/New-ZenGL).
Introduced new work with timers and fonts.
The timer can now be started and stopped at any time, as well as it can be done with a delay. limited to 20 timers.
Also, now you can work with several different fonts at the same time, no more than 5.

Introduced an FPS limitation for all PC systems. This is not the same as vertical sync !!! When set to FPS> 60, V-sync is automatically enabled (not all monitors support> 60 Hz).
Possible FPS limit values ​​are 30, 60, 75, 85, 90, 100, 120 and 144. Excluding these values ​​will be converted to 60.

Similar videos on my channel in Russian (https://www.youtube.com/channel/UCn46Rnq_opul3pxkCLtYPYg)
Title: Re: ZenGL Update ++android
Post by: Seenkao on December 21, 2020, 12:30:16 am
Следом выкладываю версию для MacOS  :)
Внимание!!! ветки перепутались (я по неопытности нахимичил) поэтому смотрите какую ветку скачиваете!
На ветке ZenGL_3_26 - бета версия 3.27 для MacOS. (хотя, вероятнее всего будет работать, просто я не проверял).

Часть демонстрационных примеров для MacOS не работает, основную часть доведу до ума позже. Выложил больше для проверки работы.
Не доделана 3-я демка, 4-я, 12-я, 15-18-е.

LCL не поддерживается!!!

Необходимо включить триангуляцию и проверить будет работать или нет.
Так же необходимо или скомпилировать файлы для 15-й демки или найти другое решение. Физика не совместима с предоставляемым в ZenGL файлом. Требуется полная переработка.

12-я демка считается устаревшей для MacOs Cocoa. Затрагивать не буду.
Title: Re: ZenGL Update +android + MacOS Cocoa
Post by: Seenkao on December 24, 2020, 10:08:16 pm
Объединил ветки 3.26 и 3.27 (вторая затёрла обновления первой... по моей вине). И версия 3.26 удалена.
Title: Re: ZenGL Update +android + MacOS Cocoa
Post by: Seenkao on January 01, 2021, 06:57:15 pm
Обновил репозиторий, добавил компилирование из командной строки (как было изначально).
17-я демо-версия работает, но только для примера использования клавиатуры (вводить текст пока нельзя, в разработке).
Исправлены проблемы с физикой, которые сам совершил, когда хотел запустить физику на MacOS. :-[

Eng:
Updated the repository, added command line compilation (as it was originally).
The 17th demo version works, but only for an example of using the keyboard (you cannot enter text yet, in development).
Fixed physics issues that I myself made when I wanted to run physics on macOS. :-[
Title: Re: ZenGL Update +android + MacOS Cocoa
Post by: Seenkao on February 25, 2021, 07:03:55 pm
В процессе нынешних наработок, выявилась проблема в файле font.zfi идущем вместе с библиотекой. Не пропечатывается и может вызывать проблемы работы программы из-за символа - если вы его используете в своей программе. Выявилось в Windows.

Используйте свой шрифт, если нужен данный символ.

В последующих версиях заменю данный файл (если не забуду :) ).

Eng:
In the course of the current developments, a problem came to light in the font.zfi file that comes with the library. Does not print and can cause problems with the program because of the symbol - if you use it in your program. Revealed in Windows.

Use your own font if you need this character.

In subsequent versions I will replace this file (if I don’t forget :)).
Title: Re: ZenGL Update +android + MacOS Cocoa
Post by: Seenkao on March 01, 2021, 11:37:20 am
Обновил репозиторий и обновил каталог tools - как обычно выползли старые версии файлов, которые наверняка не работали вряд ли бы вы сделали бы какой-нибудь рабочий фонт.

Добавлена "древняя" библиотека Vampire - только для Windows. Для того, чтоб вы могли сохранять файл в PNG-формат. (пути, вроде как не настраивал, вам надо будет самим настроить)

Изначальный файл font.zfi и его PNG-файл не менял. Проблема символа "№" - именно в этом файле. Если у вас не получится создать фонт с данным символом, скажите, выложу каким образом делал это я. (хотя проблем не должно быть).

-----------------------------------------------------------------------------------------
Eng:
I updated the repository and updated the tools directory - as usual, old versions of files crawled out, which probably did not work, it is unlikely that you would have made any working font.

Added "ancient" Vampire library - Windows only. So that you can save the file in PNG format. (I didn’t seem to configure the path, you will need to configure it yourself)

The original font.zfi file and its PNG file did not change. The problem with the symbol "№" is in this file. If you can't create a font with this symbol, tell me, I'll post how I did it. (although there shouldn't be any problems).
Title: Re: ZenGL Update +android + MacOS Cocoa
Post by: Handoko on March 01, 2021, 11:43:32 am
Thank you for updating it.

ZenGL is an interesting project, I always wanted to explore it since long ago. Hope I can have more time soon.
Title: Re: ZenGL Update +android + MacOS Cocoa + Green Engine
Post by: Seenkao on July 18, 2021, 03:15:36 am
Handoko   :-[

-------------------------------------------------------------------------------------------------------------
Всем привет! Обновил версию ZenGL до 3.28.
И с данного момента (так то и раньше уже было) теперь параллельно идёт разработка собственной библиотеки Green Engine. Она основана на ZenGL и больше её ни куда не прицепить (у меня и не было желания это всё ещё и с остальным состыковывать 8) и так убил тонну времени на всю мелочёвку  >:().

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

Поле ввода пока только проверены на Windows и Linux. На MacOS должно работать, но пока не проверял.

В дальнейших планах доработать клавиатуру и джойстики, и уже доводить до ума Android-версию. (где-то там на проходил слушок, что надо отделить многое от рендериндга... как раз есть возможность заняться  :-[).

Пока занимаюсь переделкой всякой мелочёвки, добавляю комментарии к процедурам/функциям. Глядишь людям удобнее при работе будет.

Надеюсь полезное видео, где я переделываю 3-ю демо-версию (https://youtu.be/qb8hxilAI_I). В конце видео показываю, как можно использовать несколько полей ввода.

Google translate:
Hello everyone! Updated ZenGL version to 3.28.
And from this moment (and it has already happened before), the development of its own Green Engine library is now going on in parallel. It is based on ZenGL and you can't attach it anywhere else.

GE - at this time only provides the ability to work with the input field, and the virtual keyboard, which still needs to be completed ... :'( For mobile systems, this keyboard has not yet been docked, although it was originally only done for it.

The input field has only been tested on Windows and Linux so far. It should work on macOS, but haven't tested it yet.

In the future, there are plans to finalize the keyboard and joysticks, and already bring to mind the Android version. (somewhere there was a rumor that it was necessary to separate a lot from rendering ... just there is an opportunity to do :-[).

While I am reworking all the little things, I add comments to procedures/functions. You look people will be more comfortable at work.

 Hopefully useful video where I am remaking the 3rd demo version (rus)  (https://youtu.be/qb8hxilAI_I). At the end of the video, I show you how you can use multiple input fields.
Title: Re: ZenGL Update +android + MacOS Cocoa + Green Engine
Post by: Seenkao on July 18, 2021, 08:28:28 am
Сразу же внёс корректировки для MacOS Cocoa.
- оказывается, что в версии 3.27 была удалена часть кода. Как раз для MacOS.
- и так же оказалось, что в MacOS Cocoa нет "отжатия" клавиши "CapsLock". Ориентируйтесь в ZenGL только на нажатие этой клавиши.
(демки новой версии ZenGL для MacOS могут не работать - в ближайшее время исправлю. Для ZenGL 3.27 - работают)

Google translate:
Immediately made adjustments for macOS Cocoa.
- it turns out that in version 3.27 part of the code was removed. Just right for macOS.
- and it also turned out that in MacOS Cocoa there is no "release" of the "CapsLock" key. Focus only on pressing this key in ZenGL.
(demos of the new version of ZenGL for MacOS may not work - I will fix it in the near future. For ZenGL 3.27 - they work)
Title: Re: ZenGL Update +android + MacOS Cocoa + Green Engine
Post by: Seenkao on February 27, 2022, 12:48:20 am
Привет!
Выпущена новая версия ZenGL 3.29 (https://github.com/Seenkao/New-ZenGL).
 8)
Изменения в файле Update_ZenGL.txt.

Основное из изменений: В ZenGL включён полный OpenGL по состоянию на конец 2021 года. По умолчанию включена минимальная версия, для использования основной функциональности ZenGL. Для использования полного OpenGL вам надо будет отключить в файле GLdefine.cfg дефайн USE_MIN_OPENGL (смотрите первую демо версию).

Окно и контекст окна создаются автоматически. Работу с View-портом надо настраивать. Эти функции были сделаны ещё Andru, для 2D под ZenGL подойдёт (может и вам подойдёт), для 3D надо самим настраивать функцию.
Займусь этим немного позже. Вы можете сами что-нибудь предложить.

Демки переделаны только под Lazarus, поэтому все изменения смотрите в них.

Демка LCL не будет работать в Windows 10. Я пока не решал этой проблемы. Зависает окно.

------------------------------------------------------------------------------------------------------------------------------------
Google translate:
Hey!
New version ZenGL 3.29 (https://github.com/Seenkao/New-ZenGL) has been released.
 8)
Changes in the file Update_ZenGL.txt.

Key changes: ZenGL includes full OpenGL as of late 2021. By default, a minimum version is enabled to use the core functionality of ZenGL. To use full OpenGL you will need to disable USE_MIN_OPENGL in the GLdefine.cfg file (see the first demo).

The window and window context are created automatically. Work with the View-port must be configured. These functions were made by Andru, for 2D under ZenGL it will work (maybe it will work for you too), for 3D you need to configure the function yourself.
I'll deal with this a little later. You can offer something yourself.

Demos are remade only for Lazarus, so look at all the changes in them.

The LCL demo won't work on Windows 10. I haven't solved this problem yet. The window hangs.
Title: Re: ZenGL Update +android + MacOS Cocoa + Green Engine
Post by: Seenkao on February 28, 2022, 08:41:39 pm
Обновил репозиторий.

Все демки обновлены. Исправлены баги и недочёты. С Windows 10 разобрался. Там проблемы с таймерами и обработкой внутреннего цикла ZenGL.

Если собираетесь работать с LCL, то во многих вызываемых процедурах надо выключать/включать таймер, чтобы не накладывались события друг на друга. Я понимаю, что это не лучший способ, но меня честно не интересовал LCL, поэтому это только возможное рабочее решение. Вы можете попробовать делать это без таймера.

Так же, если используете LCL, то забудьте об обработке мыши и клавиатуры средствами ZenGL, используете средства LCL.

Для FreePascal-демок вам придётся самим прописать путь до FPC в маке-файле.

--------------------------------------------------------------------------------------------------------------
Google translate:
Updated the repository.

All demos have been updated. Fixed bugs and shortcomings. Got it with Windows 10. There are issues with timers and ZenGL inner loop handling.

If you are going to work with LCL, then in many called procedures you need to turn off / turn on the timer so that events do not overlap each other. I realize this isn't the best way, but I honestly wasn't interested in LCL, so this is only a possible working solution. You can try doing this without a timer.

Also, if you use LCL, then forget about mouse and keyboard processing with ZenGL tools, use LCL tools.

For FreePascal demos, you will have to write the path to the FPC in the makefile yourself.
Title: Re: ZenGL Update +android + MacOS Cocoa + Green Engine
Post by: Seenkao on March 28, 2022, 07:44:40 pm
Обновлена текущая версия ZenGL.
На видео (https://youtu.be/wXd77SR_Xsg) показано два варианта прямой работы с OpenGL. Определённый код можно вынести в отдельный модуль для использования в разных проектах. Например матрицы, загрузку шейдеров, создание буферов.
Код пока только на видео, при необходимости могу выложить на GitHub.  ;D

Google translate:
Updated current version of ZenGL.
The video (https://youtu.be/wXd77SR_Xsg) shows two options for working directly with OpenGL. Certain code can be moved to a separate module for use in different projects. For example matrices, loading shaders, creating buffers.
The code is only on video so far, if necessary, I can put it on GitHub. ;D
Title: Re: ZenGL Update +android + MacOS Cocoa + Green Engine
Post by: Handoko on March 28, 2022, 08:00:23 pm
Thank you for the update.

ZenGL was very interesting for me, I found it some years ago when I was looking for a game/graphics engine. Unfortunately, I heard the original author had abandoned it. Was it true?

How to make ZenGL work on Android? Is it difficult? Using LAMW? I mean, I was a fan of LAMW and I wanted to do graphics things on Android. Unfortunately LAMW's jCanvasES1 and jCanvasES2 both had serious bugs make them unusable for real projects. I ever posted the issues but no one can fix them. If I can make Android games using Lazarus + ZenGL, I will be a fan of ZenGL.
Title: Re: ZenGL Update +android + MacOS Cocoa + Green Engine
Post by: Seenkao on March 28, 2022, 08:26:08 pm
Подождите немного, мне надо подготовить информацию, особенно на английском языке.  :)
Да, автор занялся своими делами и перешёл на ЯП C/C++. И это было очень давно. Дальнейшая разработка ZenGL мной, была с ним согласована. Он был не против.

google translate:
Wait a bit, I need to prepare information, especially in English. :)
Yes, the author went about his business and switched to C/C++. And that was a very long time ago. Further development of ZenGL by me was agreed with him. He didn't mind.
Title: Re: ZenGL Update +android + MacOS Cocoa + Green Engine
Post by: Seenkao on March 29, 2022, 03:43:21 pm
ANDROID rus

Похоже пора пробежаться по тому как разрабатывать под Android на английском языке...  :-[

Что нужно знать:
- ВНИМАНИЕ! Выбирайте проекты под нужные архитектуры. В ZenGL включены библиотеки ARMV5, ARMV6, ARMV7A, AARCH64 (ARMV8A), x86, x86_64.
- Все библиотеки для основных архитектур Adnroid собраны. Теперь вы можете собрать под проект под нужный для вас телефон.
- Так же стоит знать, что ZenGL использует OpenGL ES 1(1.1). На данное время идёт работа над включением в ZenGL - OpenGL ES 2.0 и выше. И так же надо будет создавать контекст для данной версии.
- ВНИМАНИЕ! Если вы хотите компилировать проекты под архитектуры ARMV5 и ARMV6 вы должны отключить дефайн CPUARMV7A в файле настроек zgl_config.cfg.
- 16-я демка будет работать только с архитектурами ARMV5 и ARMV6. На данное время не собраны библиотеки для других архитектур.

В папке с демками для Android вы можете найти файл с помощью по сборке проекта.

Начнём. ::)

Для сборки проекта вам необходимо настроить кросскомпилятор FPC под архитектуры Android, которые вы будете использовать.
Так же вам нужна среда разработки Eclipse 2019-го года (более поздние версии в настоящее время не поддерживают разработку под Android).

Настройте среду разработки Eclipse для разработки под Android.
Например так (Rus):
https://www.fandroid.info/ustanovka-eclipse-i-podklyuchenie-plagina-android-development-tools-adt-dlya-razrabotki-android-prilozhenij/
Используйте Java 8. Я не нашёл способа собрать проекты с более новыми версиями Java.

Рассмотрим любую из демок, которые есть в папке Android.
Импортируем папку с проектом в Eclipse.
Quote
File -> Import -> (Android -> Existing Android Code Into Workspace) Next
Root directory -> Browse
... выбираем папку проекта ... -> OK
Finish
Открываем Lazarus и в нём "Открыть проект", заходим в ту же папку, которую импортировали в Eclipse. Далее заходим в папку jni и открываем сам проект. Компилируем.

Заходим в Eclipse, обновляем проект. Запускаем. Он должен пройти сборку и на выходе в папке bin будет готовый APK-файл.
------------------------------------------------------------------------------

ANDROID eng

Google translate:
Looks like it's time to go over how to develop for Android in English... :-[

What you need to know:
- WARNING! Choose projects for the required architectures. ZenGL includes ARMV5, ARMV6, ARMV7A, AARCH64 (ARMV8A), x86, x86_64 libraries.
- All libraries for major Adnroid architectures are built. Now you can build a project for the phone you need.
- It's also worth knowing that ZenGL uses OpenGL ES 1(1.1). At this time, work is underway to include in ZenGL - OpenGL ES 2.0 and higher. And it will also be necessary to create a context for this version.
- WARNING! If you want to compile projects for ARMV5 and ARMV6 architectures, you must disable the CPUARMV7A defin in the zgl_config.cfg configuration file.
- Demo 16 will only work with ARMV5 and ARMV6 architectures. At this time, libraries for other architectures have not been compiled.

In the folder with Android demos you can find the file with the project build help.

Let's get started. ::)

To build the project, you need to configure the FPC cross compiler for the Android architectures that you will use.
You also need the 2019 Eclipse development environment (later versions do not currently support Android development).

Set up the Eclipse development environment for Android development.
For example like this (Eng):
https://www.tutorialspoint.com/android/android_eclipse.htm
Use Java 8. I haven't found a way to build projects with newer versions of Java.

Consider any of the demos that are in the Android folder.
Importing the project folder into Eclipse.
Quote
File -> Import -> (Android -> Existing Android Code Into Workspace) Next
Root directory -> Browse
... select the project folder ... -> OK
Finish
Open Lazarus and in it "Open project", go to the same folder that we imported into Eclipse. Next, go to the jni folder and open the project itself. Compiling.

We come into Eclipse, we update the project. We launch. It must go through the assembly and the output in the bin folder will be the finished APK file.
------------------------------------------------------------------------------

Видео по сборке приложения под Android. (https://youtu.be/cFdRYALbpGU)

Вероятнее всего проекты можно собрать и другим путём. Но я не стал сильно вдаваться в эти возможности.
Всего хорошего!  8)


Google translate:
Video on creating an Android application (https://youtu.be/cFdRYALbpGU)

I hope it will be clear and without translation what I'm doing.

Most likely, projects can be collected in another way. But I didn't go into those possibilities too much.
Best wishes! 8)
Title: Re: ZenGL Update +android + MacOS Cocoa + Green Engine
Post by: Handoko on March 29, 2022, 04:13:49 pm
Thank you for the tutorial.

I built the final project in Eclipse. Java 8 was used ...

That's the problem. I am only a hobbyist, I do not have much time to learn something new. I wish I have because there are already a long list of things I want to study: Castle Game Engine, Python, PHP, C++, Vulcan, etc. I ever spent some time to try Java, the language seemed too weird to me.  %)

Have you tried LAMW. Maybe you can make ZenGL as a component tobe able to used in LAMW. I am currently learning OpenGL, hope someday I can fix he OpenGL issue in LAMW. You're good in OpenGL, perhaps you can help fixing the bugs:
https://forum.lazarus.freepascal.org/index.php/topic,32951.msg212717.html#msg212717 (https://forum.lazarus.freepascal.org/index.php/topic,32951.msg212717.html#msg212717)
https://forum.lazarus.freepascal.org/index.php/topic,39714.msg280170.html#msg280170 (https://forum.lazarus.freepascal.org/index.php/topic,39714.msg280170.html#msg280170)
Title: Re: ZenGL Update +android + MacOS Cocoa + Green Engine
Post by: Seenkao on March 29, 2022, 05:03:27 pm
Thank you for the tutorial.
  :)

Quote
That's the problem. I am only a hobbyist, I do not have much time to learn something new. I wish I have because there are already a long list of things I want to study: Castle Game Engine, Python, PHP, C++, Vulcan, etc. I ever spent some time to try Java, the language seemed too weird to me.  %)
На самом деле это не так трудно, как кажется. Вам даже java изучать не нужно. Нужно настроить Eclipse один раз и с его помощью собирать проекты. А весь java-код я старался уже привести к нужному виду. И тогда, когда появится больше времени, можно будет изучать java и включать дополнения. Хотя наверняка и в LAWM то же самое может быть, он удобнее тем, что не надо две оболочки запускать. Делает он так же java-код, смешивая с нативным. И вполне возможно, зная java, можно собрать более корректное приложение.

По первой ссылке - на взгляд там неправильное определение матриц. Должно быть что-то вроде этого:

google translate:
It's actually not as difficult as it seems. You don't even need to learn Java. You need to set up Eclipse once and use it to build projects. And I tried to bring all the java code to the desired form. And then, when more time appears, it will be possible to study java and include additions. Although for sure the same thing can happen in LAWM, it is more convenient because you do not need to run two shells. He does the same java code, mixing with native. And it is quite possible, knowing java, you can build a more correct application.

According to the first link - it looks like there is an incorrect definition of matrices. Should be something like this:
Code: Pascal  [Select][+][-]
  1. glMatrixMode(GL_PROJECTION);
  2.   glLoadIdentity();
  3.   gluPerspective(oglFOVY, oglWidth / oglHeight, oglzNear, oglzFar);
  4.   glMatrixMode(GL_MODELVIEW);
  5.   glLoadIdentity();

Я извиняюсь, но по второй ссылке ни чем помочь не могу. Там надо влазить в LAWM смотреть как это устроено... А я и так при установке давным давно перелопачивал его для себя, чтоб запустить. Разработчик на то что я сделал ни чего не ответил, потому я просто забил. ))) Сам LAWM достаточно интересен, для быстрой сборки проектов. Собирает он достаточно небольшие приложения, но меня почему-то не очень это увлекло.
google translate:
I'm sorry, but I can't help you with the second link. There you need to get into LAWM to see how it works ... And so, during the installation, a long time ago I shoveled it for myself in order to launch it. The developer did not answer what I did, so I just scored. ))) LAWM itself is quite interesting for quick assembly of projects. It collects fairly small applications, but for some reason I was not very interested in it.
Title: Re: ZenGL Update +android + MacOS Cocoa + Green Engine
Post by: Handoko on March 29, 2022, 05:32:31 pm
According to the first link - it looks like there is an incorrect definition of matrices. Should be something like this:
Code: Pascal  [Select][+][-]
  1. glMatrixMode(GL_PROJECTION);
  2.   glLoadIdentity();
  3.   gluPerspective(oglFOVY, oglWidth / oglHeight, oglzNear, oglzFar);
  4.   glMatrixMode(GL_MODELVIEW);
  5.   glLoadIdentity();

I will certainly try it when I have time. I haven't use LAMW for a very long time and it is not installed on my computer.

It's actually not as difficult as it seems. You don't even need to learn Java. You need to set up Eclipse once and use it to build projects.

But then I will need to learn the Android framework and learn how to 'call' them in FPC. LAMW is not perfect but what I like most is it already has plenty of ready-to-use components, I can simple write code in Pascal and almost no need to deal about the Android framework.

Anyways, thank you for the information. I might try to learn what you suggested if I have time.
Title: Re: ZenGL Update +android + MacOS Cocoa + Green Engine
Post by: Seenkao on March 29, 2022, 05:54:51 pm
But then I will need to learn the Android framework and learn how to 'call' them in FPC. LAMW is not perfect but what I like most is it already has plenty of ready-to-use components, I can simple write code in Pascal and almost no need to deal about the Android framework.

Anyways, thank you for the information. I might try to learn what you suggested if I have time.
Я думаю вам надо попробовать! Не попробуешь, не узнаешь о чём идёт речь. Вам даже не обязательно знать фреймворки Android для того чтоб пользоваться ZenGL.
Я тоже им не сразу стал пользоваться. :)
google translate:
I think you should try! If you don't try, you won't know what it's all about. You don't even need to know Android frameworks to use ZenGL.
I didn't use it right away either. :)
Title: Re: ZenGL Update +android + MacOS Cocoa + Green Engine
Post by: Seenkao on May 06, 2022, 01:50:42 pm
Обновлена последняя версия ZenGL (https://github.com/Seenkao/New-ZenGL). И стабилизирована для работы с Android.
Исправлены мелкие недочёты.
Возможны мелкие ошибки, просьба сообщать, для скорейших исправлений.

Google translate:
Updated the latest version of ZenGL (https://github.com/Seenkao/New-ZenGL). And stabilized to work with Android.
Fixed minor bugs.
There may be minor errors, please report, for speedy corrections.
Title: Re: ZenGL Update +android + MacOS Cocoa + Green Engine
Post by: loaded on May 06, 2022, 02:41:15 pm
Seenkao
Updated the latest version of ZenGL (https://github.com/Seenkao/New-ZenGL). And stabilized to work with Android. Fixed minor bugs. There may be minor errors, please report, for speedy corrections.
Thank you so much for your hard work and effort.
Title: Re: ZenGL Update +android + MacOS Cocoa + Green Engine
Post by: Seenkao on May 21, 2022, 09:43:17 pm
loaded, thank!

----------------------------------------------
На данное время думаю как реализовать демо-версию, для показа реализации джойстиков для Android и возможности их использования.

Gogle translate:
At this time, I'm thinking about how to implement a demo to show the implementation of joysticks for Android and the possibility of using them.
Title: Re: ZenGL Update +android + MacOS Cocoa + Green Engine
Post by: Seenkao on March 15, 2023, 12:14:03 pm
Привет!

  Вышла новая версия ZenGL 3.30 (https://github.com/Seenkao/New-ZenGL/tree/ZenGL_3_30). Изменений достаточно немало и я не смогу их все упомнить. Всё постарался записать в файле Update_ZenGL.txt (к сожаленью только на Русском языке, прошу простить, но документацию стараюсь поддерживать и на Английском! ::)).
  Основные изменения это то, что теперь для мобильных систем работает нативная клавиатура и она не зависит от системы!!! Её можно использовать как виртуальную клавиатуру для настольных ОС. Но вот про джойстики для мобильных систем - забыл... Они не доделаны.
  Клавиатура поддерживает кириллицу и латиницу. Для поддержки других раскладок клавиатур нужна помощь носителей данных языков. Если кого заинтересует, обращайтесь.

Google translate:
Hello!

   New version ZenGL 3.30 (https://github.com/Seenkao/New-ZenGL/tree/ZenGL_3_30) has been released. There are so many changes that I can't remember them all. I tried to write everything in the file Update_ZenGL.txt (unfortunately, only in Russian, I'm sorry, but I try to support the documentation in English too! ::)).
   The main changes are that now a native keyboard works for mobile systems and it does not depend on the system!!! It can be used as a virtual keyboard for desktop OS. But I forgot about joysticks for mobile systems... They haven't been completed yet.
   The keyboard supports Cyrillic and Latin. Support for other keyboard layouts requires the assistance of native speakers of these languages. If anyone is interested, please contact.

Sorry for my English. But it's a translator...

Всем успехов!  ;D
Title: Re: ZenGL Update +android + MacOS Cocoa + Green Engine
Post by: shyub on May 07, 2023, 12:38:26 pm
А где можно скачать документацию на ZenGL?
Ссылки http://andru-kun.inf.ua/zengl.html (http://andru-kun.inf.ua/zengl.html) и https://www.zengl.org/wiki/doku.php (https://www.zengl.org/wiki/doku.php) не работают.
Title: Re: ZenGL Update +android + MacOS Cocoa + Green Engine
Post by: Handoko on May 07, 2023, 02:16:56 pm
Maybe:
https://zengl.readthedocs.io/en/latest/
Title: Re: ZenGL Update +android + MacOS Cocoa + Green Engine
Post by: Seenkao on May 10, 2023, 12:46:04 am
А где можно скачать документацию на ZenGL?
Ссылки http://andru-kun.inf.ua/zengl.html (http://andru-kun.inf.ua/zengl.html) и https://www.zengl.org/wiki/doku.php (https://www.zengl.org/wiki/doku.php) не работают.
Если поискать, то где-то валяются ещё на просторах интернета ссылки на документацию. Можно через архивы зайти на старый сайт ZenGL-а.

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

Handoko, this is for python.
Title: Re: ZenGL Update +android + MacOS Cocoa + Green Engine
Post by: Seenkao 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.
Title: Re: ZenGL Update +android + MacOS Cocoa + Green Engine
Post by: Seenkao 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.
Title: Re: ZenGL Update +android + MacOS Cocoa + Green Engine
Post by: Seenkao on July 04, 2023, 05:02:31 pm
Большую часть библиотеки стабилизировал (кроме MacOS). Обновил первый пост.
Добавил информацию по сборке проектов под Android. (https://forum.lazarus.freepascal.org/index.php/topic,49143.msg438875.html#msg438875)

Most of the library stabilized (except MacOS). Updated the first post.
Added information on building projects for Android. (https://forum.lazarus.freepascal.org/index.php/topic,49143.msg438875.html#msg438875)
Title: Re: ZenGL Update +android + MacOS Cocoa + Green Engine
Post by: funlw65 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.
Title: Re: ZenGL Update +android + MacOS Cocoa + Green Engine
Post by: funlw65 on August 30, 2023, 09:22:47 pm
BTW, why the examples for FreePascal (not Lazarus) are still dependent and linked against gtk2?
Title: Re: ZenGL Update +android + MacOS Cocoa + Green Engine
Post by: Seenkao 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.  :)
Title: Re: ZenGL Update +android + MacOS Cocoa + Green Engine
Post by: Seenkao on September 30, 2023, 12:16:22 am
Новая версия ZenGL 4.2 (https://sourceforge.net/projects/new-zengl/).

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

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

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

----------------------------------------------------------------------------
Google translate:
New version ZenGL 4.2 (https://sourceforge.net/projects/new-zengl/).

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.
Title: Re: ZenGL Update +android + MacOS Cocoa + Green Engine
Post by: Seenkao 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.
 ::)
Title: Re: ZenGL Update +android + MacOS Cocoa + Green Engine
Post by: Seenkao on October 19, 2023, 03:30:30 am
Выпущена новая версия ZenGL 4.3 (https://sourceforge.net/projects/new-zengl/).

Добавлены:
- таймера для проектов 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 (https://sourceforge.net/projects/new-zengl/).

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)
Title: Re: ZenGL Update +android + MacOS Cocoa + Green Engine
Post by: dekasoft on November 23, 2023, 01:38:18 pm
Отличная работа!
Title: Re: ZenGL Update +android + MacOS Cocoa + Green Engine
Post by: Seenkao on January 03, 2024, 08:22:30 pm
Всех с Новым Годом! ;)

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

Встречайте новую версию ZenGL 4.4 (https://sourceforge.net/projects/new-zengl/files/Zengl_4_4.7z/download).

Добавлено:
- поддержка геймпадов для Android. Используйте проекты для Android Studio, проекты для Eclipse пока не переделывались и не проверялись. Демо 3 показывает пример использования геймпадов.
- добавление функций в zgl_camera_2d.
- исправления в модуле zgl_collision_2d. Благодарность matthius за тесты кода. Тема от matthius (https://forum.lazarus.freepascal.org/index.php/topic,65201.0.html).
- какие-то ещё мелкие изменения, но я уже не помню. Всё записывал в файле обновления идущим вместе с ZenGL.

Обновил Wiki, и немного добавил документации. (https://sourceforge.net/p/new-zengl/wiki/Home/)


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

Meet the new version ZenGL 4.4 (https://sourceforge.net/projects/new-zengl/files/Zengl_4_4.7z/download).

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 (https://forum.lazarus.freepascal.org/index.php/topic,65201.0.html).
- 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. (https://sourceforge.net/p/new-zengl/wiki/Home/)
Title: Re: ZenGL Update +android + MacOS Cocoa + Green Engine
Post by: Seenkao on January 09, 2024, 12:01:09 am
Выпущена версия ZenGL 4.5 (https://sourceforge.net/projects/new-zengl/files//?upload_just_completed=true).

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

Google translate:
Version ZenGL 4.5 (https://sourceforge.net/projects/new-zengl/files//?upload_just_completed=true) 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.
Title: Re: ZenGL Update +android + MacOS Cocoa + Green Engine
Post by: Seenkao on January 27, 2024, 12:18:16 pm
Новая версия ZenGL 0.4.7. (https://sourceforge.net/projects/new-zengl/)

- Корректирован код для работы с полным OpenGL.
- Корректированы большинство демо-версий.
- Удалены демки для Eclipse (для Android Studio остались).
- Корректирован код для MacOS и демки с использованием шейдеров (19 и 20) теперь можно запустить.


--------------------------------------------------------------------------------------------------------------
New version ZenGL 0.4.7. (https://sourceforge.net/projects/new-zengl/)

- Corrected code to work with full OpenGL.
- Most of the demo versions have been corrected.
- Removed demos for Eclipse (remained for Android Studio).
- The code for MacOS has been corrected and demos using shaders (19 and 20) can now be launched.
 :-X
Title: Re: ZenGL Update +android + MacOS Cocoa + Green Engine
Post by: nouzi on January 27, 2024, 06:46:55 pm
Good work  , thanks
Title: Re: ZenGL Update +android + MacOS Cocoa + Green Engine
Post by: Seenkao on January 28, 2024, 12:11:43 pm
nouzi, thanks!  :-[
Title: Re: ZenGL Update +android + MacOS Cocoa + Green Engine
Post by: Seenkao on January 30, 2024, 03:34:42 am
Корректировал код под Windows. Прошу прощения за подобные недоработки.

Google translate:
Corrected the code for Windows. I apologize for such shortcomings.
Title: Re: ZenGL Update +android + MacOS Cocoa + Green Engine
Post by: Seenkao on April 07, 2024, 01:15:10 am
Обновил версию до 0.4.8.

- Были добавлены функции для более простого создания меню и функции работы с меню. Само меню пока только на видео на моём канале можно увидеть. В процессе разработки.
Если на это объективно смотреть, нет, не будет проще создать меню. Проще будет просто скопировать код для меню и использовать его. Я думаю мало кто будет вдаваться как работает разработанная функциональность, при том что на это надо потратить много времени.

По работе с меню сделано и много и мало... Во всё надо вникать, если захотите использовать данный функционал у себя в проекте.
https://youtu.be/5C_gmfaBkrs - видео.

- Были добавлены функции для работы с матрицами.
- Исправлена проблема возврата данных X и Y с тачскрина.
- Корректирован код. Часть кода перенесена из одного модуля в другой. Некоторые модули освобождены и удалены. Некоторые переименованы.

По сути, ни кому не интересная, муторная работа.  %)


------------------------------------------
Google translate:
Updated the version to 0.4.8.

- Features have been added to make it easier to create menus and function to work with menus. The menu itself can only be seen on video on my channel for now. On development stage.
If you look at it objectively, no, it won't be easier to create a menu. It will be easier to just copy the code for the menu and use it. I think few people will go into how the developed functionality works, given that a lot of time needs to be spent on this.

Both a lot and a little have been done on working with the menu... You need to delve into everything if you want to use this functionality in your project.
https://youtu.be/5C_gmfaBkrs - video.

- Functions for working with matrices have been added.
- Fixed problem with returning X and Y data from the touchscreen.
- Code corrected. Some of the code has been moved from one module to another. Some modules are freed and removed. Some have been renamed.

In fact, it’s not interesting and dreary work for anyone. %)
TinyPortal © 2005-2018