Модераторы: Snowy, Alexeis, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ZenGL - библиотека для создания контекста окна 
V
    Опции темы
Seenkao
Дата 20.12.2020, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 20.12.2020

Репутация: нет
Всего: 1



Приветствую всех!

Представляю вам доработанную версию ZenGL, текущая версия 0.4.7.
ZenGL - это библиотека для создания 2D игр/приложений с возможностью создания контекста окна для работы с OpenGL на разных платформах.
Обратите внимание! Если вы хотите делать игры в 2D то вам не надо знать OpenGL. Вы всё можете сделать средствами ZenGL, не вдаваясь в подробности, как работает OpenGL.

Eng I'm sorry, I don't know English well, so the basic information is in Russian.

ZenGL - it is a library that creates window context for working with OpenGL on different platforms.

Ссылка на скачивание строчкой ниже. )))
ZenGL + Green Engine download

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

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

Если хотите использовать MacOS Carbon то вам нужна будет версия ZenGL 3.12.

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

Основной сайт ZenGL - можно найти много полезной информации.
 - сайт больше не существует (если умеете копаться в архивах, то на архивах можете найти).

GitHib с версиями до 4.2  - последняя версия не стабильна, скачивайте на SourceForge.

GitHib с версией 3.12

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

Возможности библиотеки:
общее
- рендеринг как в собственное, так и в заранее подготовленное окно
- логирование событий
- загрузка ресурсов непосредственно из файлов, памяти и zip архивов
- многопоточная загрузка ресурсов
- возможность расширить количество поддерживаемых форматов данных
Настройки
- управление антиалиасингом, разрешением экрана, частотой развертки и вертикальной синхронизацией
- коррекция пропорций выводимого изображения относительно заданных размеров
- управление заголовком и размером окна, наличие автоматического центрирования
- управление видимостью курсора в пределах окна
Ввод
- обработка событий клавиатуры, мыши и джойстика
- обработка ввода Unicode-текста
- возможность ограничить ввод латинским алфавитом
Текстуры
- поддержка форматов tga, png,jpg и pvr
- корректная работа с NPOT текстурами
- управление параметрами фильтрации
- работа с масками
- наличие render targets для рендеринга в текстуру
Text
- текстурные Unicode-шрифты
- вывод форматированного текста в кодировке UTF-8 с возможностью использования разных шрифтов
- управление отступами, размером, цветом вершин и количеством символов в тексте
2D-подсистема
- batch render для повышения производительности
- рендеринг основных видов примитивов
- наличие менеджера спрайтов
- рендеринг статичных спрайтов, спрайтов с анимацией и тайлов
- рендеринг трансформирующейся сетки
- рендеринг спрайтов с ручным указанием текстурных координат(с пиксельной размерностью и обычным 0..1)
- управление режимом блендинга и смешивания цвета
- возможность назначения цвета и альфы отдельным вершинам спрайтов и примитивов
- дополнительные трансформации спрайтов(зеркальное отражения, увеличение, смещение вершин)
- быстрое отсечение спрайтов выходящих за пределы видимости
- наличие камеры с возможностью увеличения и поворота содержимого сцены
Звук
- работа посредством OpenAL или DirectSound в зависимости от настроек сборки или ОС
- корректная работа при отсутствии звуковой карты
- поддержка wav и ogg в качестве сэмплов
- потоковое воспроизведение аудио-файлов
- управление параметрами громкости и скорости воспроизведения
- трехмерное позиционирование источника звука
Видео
- декодирование кадров в текстуру
- поддержка кодека theora в контейнере ogv
Математика
- базовый набор вспомогательных мат. функций
- необходимый набор функций для триангуляции
- базовый набор collision-функций
Дополнительно
- работа с ini-файлами
- вспомогательные функции для работы с файлами и памятью
- возможность работы с таймерами, запускать/останавливать как немедленно, так и с задержкой.

В новой версии добавлено:
- дополнительные примитивы.
- ускорена работа с текстом
- добавлена возможность отдельного запуска/остановки таймера. А так же возможность их запуска/остановки по истечению определённого времени.
- добавлена возможность работать с полным OpenGL (смотрите видео, где я показал, как можно использовать разные контексты. Устаревший OpenGL и OpenGL 3.3).
- добавлена библиотека Green Engine которая работает на основе ZenGL. В данное время она предоставляет возможность работы с полем ввода, так же укоряет немного работу с цветом в ZenGL и содержит в себе ускоренные функции перевода строки в числа (StrToInt).

GreenEngine - нативные методы работы с определёнными компонентами:
- Поле ввода.
- Виртуальная клавиатура - для мобильных систем это основная клавиатура на данный момент. Она должна и быстрее работать и быть более отзывчивой, чем предоставляемая системой клавиатура (для Android как минимум).


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


Это сообщение отредактировал(а) Seenkao - 27.1.2024, 14:33
PM MAIL   Вверх
Seenkao
Дата 21.12.2020, 03:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 20.12.2020

Репутация: нет
Всего: 1



Теперь доступна и тестовая версия для MacOS Cocoa.

Это сообщение отредактировал(а) Seenkao - 25.12.2020, 00:09
PM MAIL   Вверх
Seenkao
Дата 25.12.2020, 00:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 20.12.2020

Репутация: нет
Всего: 1



Объединил ветки 3.26 и 3.27, по причине, что вторая затёрла обновления первой... Моя вина, недавно с гитом работаю.  smile 
PM MAIL   Вверх
Seenkao
Дата 1.1.2021, 21:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 20.12.2020

Репутация: нет
Всего: 1



Обновил репозиторий, добавил компилирование из командной строки (как было изначально).
17-я демо-версия работает, но только для примера использования клавиатуры (вводить текст пока нельзя, в разработке).
Исправлены проблемы с физикой, которые сам совершил, когда хотел запустить физику на MacOS.
PM MAIL   Вверх
Seenkao
Дата 18.7.2021, 04:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 20.12.2020

Репутация: нет
Всего: 1



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

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

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

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

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

Надеюсь полезное видео, где я переделываю 3-ю демо-версию. В конце видео показываю, как можно использовать несколько полей ввода.
PM MAIL   Вверх
Seenkao
Дата 27.7.2021, 22:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 20.12.2020

Репутация: нет
Всего: 1



Обновлено. Исправлены недоработки, проверено на MacOS Cocoa x84_64 (ARM64 не проверено, потому что нет скомпилированных библиотек под них. Смотрите версию 3.27, там рассказано как можно запустить версию для ARM64).
PM MAIL   Вверх
Seenkao
  Дата 27.2.2022, 17:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 20.12.2020

Репутация: нет
Всего: 1



После долгой и кропотливой разработки в разных направлениях выпускаю новую версию ZenGL 3.29.

Обновления все в файле Update_ZenGL.txt.

Основное можно выделить, то, что прицепил полный OpenGL к ZenGL с обновлениями на конец 2021 года (тем кто пользуется Linux много возможностей открывается, как я посмотрел, пока перебирал). Есть возможность создания нового контекста для тех, кто хочет потренироваться в работе с OpenGL. Окно и контекст как обычно создаёт ZenGL, но есть только "устаревшие" объявления View порта, те, что ещё Андрей разрабатывал. Потому, если есть умельцы, можете подменить своими начинками и в путь.

Для создания нового контекста, вам минимально нужно будет отключить дефайн USE_MIN_OPENGL в файле GLdefine.cfg (смотрим первую демку). Он включен для основной функциональности ZenGL. Если поковыряться в этом файле настроек, то вы можете настроить OpenGL под чисто ваш выбор (не переусердствуйте, какие-то процедуры/функции нужны будут достаточно давних лет).

Сразу оговорюсь, изменения были произведены только для демок для Lazarus, поэтому копируем демку куда нам нужно и запускаем (проверить ещё много надо  smile  я проверил только основу).

Linux, Windows должно работать.

Для определённых версий Windows (например 10) LCL работать не будет. Происходит конфликт. Пока даже не копал по какой причине.
Проблема решена. Смотрите соответствующие демки.

Это сообщение отредактировал(а) Seenkao - 28.2.2022, 23:19
PM MAIL   Вверх
Seenkao
Дата 8.7.2022, 01:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 20.12.2020

Репутация: нет
Всего: 1



Корректирована работа библиотеки под Android.
Стабилизировал версию. Убрал недочёты, где-то довёл до ума код. Редактировал демки.

Если будете компилировать демки под Android, вам надо будет убрать все пробелы и скобки присутствующие в пути до папки демки. Иначе могут возникнуть проблемы при компиляции.

Напоминаю, для работы с данной библиотекой, вам не надо знать OpenGL. Вы всё можете сделать средствами ZenGL, не вдаваясь в подробности, как работает OpenGL.

 smile 
PM MAIL   Вверх
Seenkao
Дата 22.3.2023, 09:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 20.12.2020

Репутация: нет
Всего: 1



Выпущена очередная версия! smile 

Изменений было достаточно немало, в основном коснулись стабилизации работы ZenGL. Так же были добавлены расширенные примитивы (широкие) и нативная клавиатура (для настольных систем - виртуальная, для мобильных - основная). Джойстики были в разработке для мобильных систем, но на данное время не протестированы.

В ближайшее время буду избавляться от "устаревшего" кода. Во первых, мне приходится тратить много времени на его поддержку, а во вторых непонятно, нужен он кому-то или нет.
Всем успехов!  smile 
PM MAIL   Вверх
Seenkao
Дата 30.6.2023, 04:32 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 20.12.2020

Репутация: нет
Всего: 1



  Выпущена новая версия 4.0. В связи с глобальными изменениями. smile 

  Произведено много изменений:
  - удалён "старый" код, вместо него сейчас используются обновлённые методы и Green Engine.
  - добавлены библиотеки (в основном динамические) OggVorbisTheoraLibZipturboJPG для 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 ну и для Мака. Это всё позже.

  Корректирован код ZenGL для Android, Linux и Windows. До этого проверял только на Linux и отдельных версиях Android.
  Версия ZengL 4.0 теперь стабильна. Все демки запускаются без особых проблем для всех ОС и всех архитектур, кроме MacOS.
 Увы пока не все условия выполнены для работы ZenGL на MacOS.


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

 smile ... ух и сырую же версию я выпустил изначально... но всё исправлено!  smile 
PM MAIL   Вверх
Seenkao
Дата 2.10.2023, 20:58 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 20.12.2020

Репутация: нет
Всего: 1



 smile 
Выпущена версия 4.2. И вроде как стабилизирована.
Вернул возможность сборки демо-проектов под MacOS.

Добавлены демки 19 и 20 где показывается возможность работы с OpenGL 3.3. smile 

Ссылка на скачивание ниже или в первопосте.
Проект переехал на SourceForge.

Это сообщение отредактировал(а) Seenkao - 2.10.2023, 21:02
PM MAIL   Вверх
Seenkao
Дата 19.10.2023, 04:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 20.12.2020

Репутация: нет
Всего: 1



Выпущена версия ZenGL 4.3.

Добавлено:
таймера для Android.
- добавлена поддержка проектов для Android Studio.

Теперь вы можете собрать проект используя FPC/Lazarus + Android Studio.

Для сборки необходимы будут FPC/Lazarus, кросскомпилятор FPC и Android Studio (+SDK, +NDK).

Процесс сборки:
  Компилируете демку 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.

 smile 
PM MAIL   Вверх
Seenkao
Дата 4.1.2024, 16:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 20.12.2020

Репутация: нет
Всего: 1



Выпущена новая версия. 4.4.
Из основных изменений это есть поддержка геймпадов для Android.
PM MAIL   Вверх
Seenkao
Дата 27.1.2024, 14:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 20.12.2020

Репутация: нет
Всего: 1



Новая версия ZenGL 0.4.7.

- Корректирован код для работы с полным OpenGL.
- Корректированы большинство демо-версий.
- Удалены демки для Eclipse (для Android Studio остались).
- Корректирован код для MacOS и демки с использованием шейдеров (19 и 20) теперь можно запустить.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Звук, графика и видео"
Girder
Snowy
Alexeis

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • По вопросам разработки игр стоит заглянуть сюда

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Girder, Snowy.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Звук, графика и видео | Следующая тема »


 




[ Время генерации скрипта: 0.1493 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.