Войти
ПрограммированиеФорумОбщее

ZenGL Update

Страницы: 1 2 312 13 Следующая »
#0
(Правка: 11 ноя 2022, 7:46) 1:00, 10 авг 2020

ZenGL - это бибилотека создающая контекст окна для работы с OpenGL на разных платформах.

Среда разработки:
  - Lazarus/FreePascal
  - Delphi

Поддерживаемые платформы для Lazarus/FreePascal:
  - Windows 32/64
  - Linux 32/64
  - Android
  - MacOS Cocoa - тестовая версия

- MacOS Carbon (не проверено используйте версию 3.12 если не будет работать)

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

ZenGL - исходный код.

ведётся разработка библиотеки Green Engine, основанной на ZenGL. Работать они будут только вместе!

Старая страничка, много полезного: ZenGL - архив гейдейва

--------------------------------------------------------------------------------------
старые версии:
ZenGL 3.24
ZenGL 3.20

-————————————————————————————-
Игры и программы с использованием ZenGL:
open-flappybird - исходный код.
Пэкмен - исходный код.
Penuhi Gizi Game - исходный код.
Охотник на троллей - исходный код.
Retroid - Графический интерфейс для ретро-игр и многого другого... (c)
Andry World - игра под Android.
исходники тетриса - тема откуда взяты исходники.
Lasers, Ropes, Bombs and Portals (WIP)
Planet R-12

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

+ Версия ZenGL 3.24 изменения:


Версия ZenGL 3.20 изменения:

- мелкие модификации внутреннего кода.
  - настройка поддержки компиляции под Android, прописывание дефайнов, модификация кода.

Запустить видео по клику - Как делать игрыЗапустить видео по клику - Как делать игры

демо-версии запущенные на андроид


Android:
Решение проблем, связанных с запуском приложений на Android

Unix-системы:
Важно! В самом первом модуле надо прописывать код:

uses
  {$IFDEF UNIX}
  cthreads,
  {$ENDIF}  

Основная информация не поменялась, кроме исходного кода. Смотрите  демо-версии и на сайте: ZENGL

сопутствующие видео.

+ Показать

Все вопросы и пожелания можно оставлять здесь или отправлять на мыло

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

#1
(Правка: 11 ноя 2022, 7:35) 1:00, 10 авг 2020

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

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

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

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

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

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

+ Дальнейшие планируемые изменения:

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

Прошу многих извинить!!! Но специально заниматься разработкой/доработкой под MacOS/iOS в данное время не буду (для MacOS частично решено). Так же специальной поддержкой 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 , или задавая вопросы мне:
- почта
Канал на ютубе, выкладываю периодически видео может кому полезно будет. Ну, или так же на форумах, просматриваю темы, по возможности отвечаю (или отмечаю о недоработках для себя)

-----------------------------------------------------------------------------------------------------------------------
Новая версия выложена в шапке.

#2
(Правка: 11 ноя 2022, 7:27) 5:31, 28 сен 2020

Представляю новую версию ZenGL! 3.25!!!
ссылка на скачивание

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

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

Парочка ссылок видео:

Запустить видео по клику - Как делать игрыЗапустить видео по клику - Как делать игры

Запустить видео по клику - Как делать игрыЗапустить видео по клику - Как делать игры

#3
(Правка: 24 дек 2020, 19:05) 18:11, 15 ноя 2020

Запустить видео по клику - Как делать игрыЗапустить видео по клику - Как делать игры

Запуск демки на MacOS Cocoa
а тем временем, потихоньку полегоньку, глядишь и на маке можно будет создавать игрушки. (и пофиг что поздновато :) )

P.S. А походу ни сколько и не поздно! Big Sur продолжает поддержку OpenGL и OpenCL. )))

#4
19:53, 15 ноя 2020

А ты не решал проблему совпадения имён библиотек движка с системными и паскалевскими? Она наблюдалась линуксе  и в этом движке, и в редакторе fp при его сборке с отладчиком. Суть её в том, что в  библиотеках заархавирована туева куча мелких либ *.o и иногда в разных  библиотеках находятся *.o с одинаковыми именами. А при линковке звёзды иногда складываются так, что *.o линковщик танет не оттуда, откуда ожидает разработчик. В зенгл линковщик тянул вместо движковой либы паскалевскую. Шаманить со сборочными скриптами чтобы этого избежать, это неудобный метод, из-за него сборка усложняется. Превентивно все  *.o из движка, которые можно переименовать, и после этого всё будет собираться, переименовал, пропатчил в движке линковку по типу

{$IFDEF USE_LIBJPEG}
  {$IFNDEF ANDROID}
    {$L z_jpeg_helper} //[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[
    {$L z_jaricom}
    {$L z_jcomapi}
    {$L z_jdapimin}
    {$L z_jdapistd}
    {$L z_jdarith}
    {$L z_jdatasrc}
    {$L z_jdcoefct}
    {$L z_jdcolor}
    {$L z_jddctmgr}
    {$L z_jdhuff}
    {$L z_jdinput}
    {$L z_jdmainct}
    {$L z_jdmarker}
    {$L z_jdmaster}
    {$L z_jdmerge}
    {$L z_jdpostct}
    {$L z_jdsample}
    {$L z_jerror}
    {$L z_jidctflt}
    {$L z_jidctfst}
    {$L z_jidctint}
    {$L z_jmemmgr}
    {$L z_jmemnobs}
    {$L z_jquant1}
    {$L z_jquant2}
    {$L z_jutils} //[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[
  {$ENDIF}
  {$IFDEF MACOSX}

И больше такого не случалось.

#5
20:44, 15 ноя 2020

Вроде сталкивался. Там достаточно было модули местами поменять, чтобы прогружались первыми те, которые требуются.

Ну, или перебираешь модули и делаешь последовательную загрузку библиотек в том порядке, в котором тебе надо. (муторно, зато надёжно)

#6
(Правка: 19:52) 8:11, 16 ноя 2020

Зашёл на форум зенгээла, оказывается ты на кирпиче застрял. Я тоже ,через два года там спотыкнулся.

Выложил прохождение  с некоторыми исправлениями.

+ Показать
#7
(Правка: 18:59) 18:59, 16 ноя 2020

не сейчас... мак ждёт (хотя не наркоман я вроде)

ссылочку внутрь убери, а то как-то она не очень хорошо выглядит )))

#8
21:11, 16 ноя 2020

Mirrel
> Я проверил, OpenGL работает на MacOS, но с определёнными ограничениями.
если ты и вправду устремился переточить ZenGL под мак, то твой следующий шаг - перепись на Метал!
(а от туда, для других платформ - Вулкан)

в 100й раз тебе повторю, твой единственный шанс, это публиковаться на не яндекс диске, а на каком-нить github-е.

#9
(Правка: 2:20) 2:18, 17 ноя 2020

skalogryz, если и буду делать метал, то не сейчас.
Для этого опять информацию надо собирать. А информация опять вся в Си и objective-c как обычно... и выцарапывать её оттуда...

это публиковаться на не яндекс диске

кто-то давно не следил за версиями... )))

странно, а тут забыл подправить, исправил недочёт

#10
4:07, 17 ноя 2020

Mirrel
> странно, а тут забыл подправить, исправил недочёт
во! уже дело!

#11
3:48, 20 дек 2020

Представляю вашему вниманию новую версию ZenGL.
Введена новая работа с таймерами и шрифтами.
Таймера теперь можно запускать и останавливать в любое время, а так же это можно делать с задержкой. ограничено 20-ю таймерами.
Так же, теперь можно работать с несколькими разными шрифтами одновременно, не более 5.

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

Сопутствующие видео на моём канале.

#12
18:06, 20 дек 2020

Есть же программы для записи, есть эмуляторы. Зачем так мучить зрителя?

#13
18:26, 20 дек 2020

Salamandr, смотря про что вы пишите!

#14
19:08, 20 дек 2020

Mirrel
я про видео конечно, смотреть его не возможно. Где стабилизация камеры, почему идут постоянные дергания. Ну можно же её поставить жестко.

Страницы: 1 2 312 13 Следующая »
ПрограммированиеФорумОбщее