Forum > Games

ZenGL +android + MacOS Cocoa (beta)

(1/3) > >>

Seenkao:
Rus:
Текущая версия: ZenGL 4.2 (download)

ZenGL - это библиотека создающая контекст окна для работы с OpenGL на разных платформах. Так же, это игровой 2D движок, позволяющий писать игры (приложение), без знаний OpenGL.
На данное время, есть возможность использования полного OpenGL и OpenGL ES (OpenGL ES в следующей версии ZenGL 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!
---------------------------------------------------------------------------------------------------------------------

Eng:
Google translate:
Current version: ZenGL 4.2 (download)

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 (OpenGL ES in the next version ZenGL 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!
see more information on GitHub.

---------------------------------------------------------------------------------------------------------------------
Внимание! Для новых версий FPC (> 3.0.4) для Unix-систем и не LCL в запускаемом модуле обязательно надо выставлять:

--- Code: Pascal  [+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i < x.length; i++) { x[i].style.maxHeight='none'; x[i].style.height = Math.min(x[i].clientHeight+15,306)+'px'; x[i].style.resize = "vertical";}};} ---uses{$IFDEF UNIX}   cthreads;{$ENDIF}---------------------------------------------------------------------------------------------------------------------
старые версии не включённые в SourceForge:

ZenGL до версии 4.2 (GitHub)
ZenGL 3.24
ZenGL 3.20

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

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

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

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

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

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

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

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

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

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

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

Seenkao:
Если вы используете BigSur или CPU не x86_64 то вам надо:
установить библиотеки из brew

If you are using BigSur or a CPU not x86_64 then you need:
install libraries from brew
- zlib
- libzip
- libogg
- vorbis
и если знаете как запустить 15-ю и 16-ю демо-версии, то:
and if you know how to run the 15th and 16th demo versions, then:
- theora
- chipmunk

в файле "zgl_config.cfg" выставить
in the file "zgl_config.cfg" set

--- Code: Pascal  [+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i < x.length; i++) { x[i].style.maxHeight='none'; x[i].style.height = Math.min(x[i].clientHeight+15,306)+'px'; x[i].style.resize = "vertical";}};} ---{$DEFINE MAC_COCOA} and disable

--- Code: Pascal  [+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i < x.length; i++) { x[i].style.maxHeight='none'; x[i].style.height = Math.min(x[i].clientHeight+15,306)+'px'; x[i].style.resize = "vertical";}};} ---{$IFDEF MAC_COCOA}  {$DEFINE NO_USE_STATIC_LIBRARY} // -> {.$DEFINE NO_USE_STATIC_LIBRARY}{$ENDIF}If all libraries are installed by default, then the demo versions should work.

Если все библиотеки будут установлены по умолчанию, то демо-версии должны заработать.

skalogryz:
zlib идёт в маке из коробки

с Маком вся тонкость как динамические либы распростронять.
Их обязательно нужно класть в нужную директорию в бандле!

иначе конечных пользователей тоже придёться просить ставить Brew. не камильфо!  :)

Seenkao:
skalogryz, и вот тут вырисовывается интересная проблема... о которой я даже не задумывался...
Допустим для своего процессора я добавлю эти самые библиотеки, это не проблема.

Но!!! Как обеспечить полную совместимость программы для разных процессоров по свое сути?!
Мне надо об этом заботится? Или всё же приложение скомпилированное на процессоре x86-64 будет работать на процессоре ARM64? Если да, то как мне получить библиотеки для процессора ARM?

Эта проблема, похоже, касается не только MacOS, но и Linux?

Я ни сколько не на Java программирую...

Google translate:
and here an interesting problem looms ... which I did not even think about ...
Suppose I add these same libraries for my processor, this is not a problem.

But!!! How to ensure full compatibility of the program for different processors in essence?!
Do I need to take care of this? Or will an application compiled on an x86-64 processor run on an ARM64 processor? If so, how do I get libraries for the ARM processor?

Does this problem seem to affect not only macOS but Linux as well?

I do not program in Java at all ...

P.S. skalogryz, мы не на русскоязычном форуме.  :)

Seenkao:
Всем привет! Обновил версию ZenGL до 3.28.
И с данного момента (так то и раньше уже было) теперь параллельно идёт разработка собственной библиотеки Green Engine. Работает только с ZenGL.

Прошу прощения, но на английском информации мало. Но по ходу разработки добавляю комментарии в код и демонстрационные версии.

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

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

Надеюсь полезное видео, где я переделываю 3-ю демо-версию. В конце видео показываю, как можно использовать несколько полей ввода.

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. Works with ZenGL only.

Sorry, but there is little information in English. But in the course of development, I add comments to the code and demos.

GE - at this time only provides the ability to work with the input field, and the virtual keyboard, which has not yet been 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. :-[

Hopefully helpful video of me remaking the 3rd demo. (rus) At the end of the video, I show you how you can use multiple input fields.

Navigation

[0] Message Index

[#] Next page

Go to full version