ZenGL/ru
│
Deutsch (de) │
English (en) │
español (es) │
français (fr) │
русский (ru) │
ZenGL/ru |
Tutorial 1 |
Tutorial 2 |
Tutorial 3 |
Edit
О ZenGL
ZenGL - кросс-платформенная библиотека, разработанная, чтобы обеспечить необходимый функционал для отрисовки двухмерных игр, обработки устройств ввода, воспроизведение звука и музыки.
- Поддерживаемые ОС: GNU/Linux(32/64), Windows(32/64), macOS(Carbon/Cocoa), iOS, Android 2.1+
- Компиляторы: Free Pascal, Delphi
- Графические API: OpenGL, OpenGL ES 1.x, Direct3D 8/9
- Аудио API: OpenAL, DirectSound
- Лицензия: zlib
В данное время библиотека дорабатывается.
Ссылки
- Download ZenGL до версии 3.12
- Bugtracker
- До версии 4.2 (версия 4.2 уведена в архив и не тестирована, смотрите версию на SourceForge)
- SourceForge - исходный код ZenGL 4.2 и выше
Обучающие примеры
Внимание! Все примеры содержатся в скачиваемой версии библиотеки (в новых версиях они могут незначительно, но критично для работы разрабатываемой программы, отличаться).
ZenGL Tutorial: Первый пример для ZenGL знакомит с самой библиотекой. Рассказывается о том как скачать, установить библиотеку. Настроить компилятор (среду разработки) для компиляции проектов. Сборка проекта как статической так динамической библиотекой ZenGL. А так же рассматривается одна и программ-примеров 'Initialization', которая входит в библиотеку ZenGL.
ZenGL Tutorial 2: Второй пример рассказывает о том, как создавать шрифты и выводить текст на экран.
Возможности библиотеки
- Основные
- библиотека может быть скомпилирована статически к проекту, или использоваться, как динамическая библиотека (в обновлённой версии только статическая компиляция)
- рендеринг как в собственное, так и в заранее подготовленное окно (LCL, VCL)
- журнал событий
- загрузка ресурсов из файлов, памяти и zip архивов
- многопоточная загрузка ресурсов
- возможность расширить количество поддерживаемых форматов данных
- Возможности настройки графики
- Сглаживание (antialiasing), разрешение и частоту обновления экрана (screen resolution, refresh rate) а так же контролировать вертикальную синхронизацию (v-sync)
- коррекция пропорций выводимого изображения относительно заданных размеров
- управление заголовком и размером окна, наличие автоматического центрирования
- управление видимостью курсора в пределах окна
- Устройства ввода
- обработка событий клавиатуры, мыши и джойстика
- ввод Unicode символов
- возможность ограничить ввод только латинской раскладкой
- Вывод Текстур
- поддержка форматов tga, png, jpg и pvr
- поддержка текстур размером не кратным 2 (Non Power Of Two)
- управление параметрами фильтрации
- работа с масками
- render targets отрисовка в текстуры
- Вывод текста
- реализация Unicode шрифты на основе текстур
- вывод UTF-8 текста
- управление отступами, размером, цветом вершин и количеством символов в тексте
- 2D подсистема
- batch render для повышения производительности рендеринга
- рендеринг основных видов примитивов
- спрайтовый движок
- вывод статических и анимированных спрайтов и тайлов
- рендеринг трансформирующейся сетки
- рендеринг спрайтов с ручным указанием текстурных координат(с пиксельной размерностью и обычным 0..1)
- управление режимом блендинга и смешивания цвета
- возможность назначения цвета и альфы отдельным вершинам спрайтов и примитивов
- дополнительные трансформации спрайтов(зеркальное отражения, увеличение, смещение вершин)
- быстрое отсечение спрайтов выходящих за пределы видимости
- наличие 2D камеры с возможностью увеличения и поворота содержимого сцены
- Звук
- вывод звука с помощью библиотек OpenAL или DirectSound (зависит от настроек проекта и операционной системы)
- возможность правильной работы, даже при отсутствии звуковой карты
- поддержка форматов wav и 'ogg
- потоковое воспроизведение аудио-файлов
- контроль за громкостью звука и темпом воспроизведения
- трехмерное позиционирование источника звука в пространстве
- Видео
- декодирование видео заставок в текстуры
- поддержка кодека theora в формате ogv
- Математический вычисление
- базовый набор вспомогательных мат. функций
- необходимый набор функций для триангуляции
- простейшие функции проверки столкновений
- Доплнительно
- чтение и запись INI файлов
- дополнительные функции для работы с файлами и памятью
В обновлённой версии
- Корректирована компиляция под android под версию FPC 3.2.0 и выше.
- Скомпилированы библиотеки (Ogg, Vorbis, Theora) для всех архитектур Android: x86, x86_64, ARM32 и ARM64.
- Перебран основной код для коррекции работы библиотеки
- Редактирована работа с Windows 64
- Исправлены мелкие баги
- Редактированы демо-версии (для iOS демки не правились, перебраны демо-версии для Lazarus, FPC и Delphi)
- Введены DEFINE
- define - USE_EXIT_ESCAPE - выход. Возможность не писать дополнительный код для выхода из программы по нажатию клавиши Escape
- define - USE_INIT_HANDLE - для использования ZenGL в уже созданное окно (LCL/VCL)
- Введена поддержка MacOS Cocoa
- Редактирована работа с таймерами
- Редактирована работа со шрифтами
- Редактирована работа с LCL/VCL
Добавлен внутренний движок, основанный на функциональности ZenGL - Green Engine.
Возможности Green Engine:
- собственное поле ввода и его функциональность.
Ведётся документация внутри модулей ZenGL.
Так же смотрите обновления в файле Update _ZenGL.txt (на русском).