ZenGL + поддержка android

Общие вопросы программирования, алгоритмы и т.п.

Модератор: Модераторы

Seenkao
энтузиаст
Сообщения: 581
Зарегистрирован: 01.04.2020 02:37:12
Контактная информация:

Сообщение Seenkao »

Выпущена новая версия --> ZenGL 4.19. <--
Изменения произошли достаточно глобальные и возможно версия не стабильна. Потому, если что, используйте предыдущую версию.

Основные изменения:
- изменена работа с загрузкой файлов. Теперь за счёт флага можно указать, что путь указан глобальный. Необходимо для LCL/VCL приложений, где используются OpenDialog и что-нибудь подобное.
- частицы: добавлены процедура и функция для передачи координат излучателя. В дальнейшем могут быть изменение их работы.
- изменена работа рендера. Исключена вся функциональность glBegin, glEnd, glVertex и другие из функциональности ZenGL. Теперь всё работает посредством использования glDrawArrays - кроссплатформенно по умолчанию.
- изменена работа с цветом. Теперь основа для цвета это zglTColor (zglPColor), ранее было LongWord.
- добавлены расширенные функции для рисования линии, в них можно задавать начальный и конечный цвет.
- множественные изменения согласно изменений выше.
Просьба сообщать о всех проблемах работы с библиотекой! Очень сложно всё протестировать. По возможности проверил всё что возможно, но наверняка что-то упустил.
Seenkao
энтузиаст
Сообщения: 581
Зарегистрирован: 01.04.2020 02:37:12
Контактная информация:

Сообщение Seenkao »

Всем привет!!! :)

Встречайте очередное обновление >>> ZenGL 4.20. <<<
Версия насколько возможно стабилизирована, надеюсь критических недоработок нет. Основной список изменений:
02.03.2026
- Исправлены проблемы для сборки програм под Delphi. Введено определение CPU64 именно для 64-х битного Delphi.
- Добавлен код для устранения бага, когда поле ввода (Green Engine) возвращая строку, могла "поломать" программу.
- Исправления в модуле "zgl_joystick.pas", теперь и динамические библиотеки правильно возвращают имя джойстиков. И если определилось несколько джойстиков, то и узнать "имена" можно у всех (не более 10, от 0 до 9).

26.02.2026
- Модифицирован проект для сборки динамических библиотек. Теперь достаточно выбрать под какую архитектуру собирать библиотеку (в настройках проекта).

23.02.2026
- Для LCL-приложений введена поддержка GTK3, QT5 и QT6. Реализация в основном в демках.

20.02.2026
- Изменена работа переменных "mouseDX" и "mouseDY", а так же соответствующих функций "mouse_DX" и "mouse_DY". Теперь они возвращают дельту X и дельту Y.
- Исправлены возможные проблемы при работе с ресурсами. Теперь придёт оповещение, если вы включили модуль в свой проект, но определение для модуля в файле "zgl_config.cfg" было отключено.
- Исправлены проблемы с загрузкой ресурсов, в частности со шрифтом. Приложение закрывается, если ресурсы не были загружены, а при создании шрифтов для таких случаев, устранены утечки.

16.02.2026
- LongWord в ZenGL переименован в Cardinal - везде. Так как Delphi, для 64-х битных систем считает LongWord равным LongLongWord (стараются соответствовать unix).
- Автоматически исправлены малые проблемы для 64-х битных программ, собранных в Delphi.

07.02.2026
- Оптимизирована процедура "tex_CalcAlpha" в модуле " zgl_textures". Оптимизирована под скорость работы, как часто используемая (требуется проверка, на всякий случай).
- Произведена оптимизация процедур в модуле "zgl_render_2d.pas" связанных с выводом изображения: "render_AddVertex4", "render_AddVertex6", "render_AddVertexTexture6", "render_AddColor4", "render_AddVCAColor4", "render_AddVCAColor6" и "render_AddColor6". Должно работать более быстро, но видно будет только на слабых машинах (для них и производилась оптимизация).

21.01.2026
- Внесены исправления в модуль "zgl_render_2d.pas". Исправления касаются пересылки массивов данных для вывода, что должно повысить производительность и уменьшило конечный код.

11.12.2025
- В модуль "zgl_matrix" введёно определение "USE_SINGLE", определяющее как будет производится работа с данными для матриц: Single или Double. Для использования обоих видов матриц следует создать свой модуль работы с матрицами.

03.11.2025.
- Корректировка возвращения mouseX и mouseY для Android. Теперь координаты для мыши только по нулевому тапу работают.

17.08.2025
- Удалены константы и переменные которые были реализованы для клавиатуры: KT_DOWN, KT_UP, keyDownRepeat, keyBoolRepeat, beginKeyDelay, repeatKeyDelay и keyDelayWork.
- Удалены процедуры с ними связанные: setKey_BeginRepeat и setKey_Repeat.

08.08.2025
- Исправлена проблема при попытке вывести не существующую текстуру.
- При создании нулевой текстуры "tex_CreateZero", если приходят нулевые данные, то они по умолчанию передаются в 1.

07.08.2025
- Корректирована работа ZenGUI. Теперь обработка мыши происходит нормально. Но по прежнему остались утечки при использовании диалоговых окон с эффектами и другие мелкие проблемы.

19.07.2025
- Устранены проблемы при попытке загружать файлы без указания имени и расширения.

18.07.2025
- Устранены возможные утечки (вероятно не полностью).
- Исправлена ошибка в имени функции "tex_GetTextureID" (было "tex_GetTextireID").
- Добавлен проект ZenGUI (вероятнее всего временно, нужен для тестов), но у него ещё много проблем.

17.07.2025
- Исправлена работа с мышью. Теперь очистка данных производится верно.
Так же в демках содержится последнее обновление эмулятора PZ Nes. Его можно собрать и под Android и потестировать. Только на android у вас должен быть контроллер, чтоб поиграть в игру. Запустить можно несколько игр, но я пока не реализовал выбор игр. Прощу прощения.

UPD: Забыл. Теперь все проекты для Android находятся в одном проекте с FPC/Lazarus. Под нужную платформу надо выбирать в настройках режим сборки (build mode). Они все настроены, потому нужно только выбрать нужный режим.
Так же были добавлены демки для старых версий Android. Мне это надо для тестирования.

Всем успехов!
Ответить