Difference between revisions of "ZenGL/ru"
m (Fix typo) |
|||
Line 15: | Line 15: | ||
'''Лицензия''': [http://zengl.org/license.html zlib] | '''Лицензия''': [http://zengl.org/license.html zlib] | ||
+ | |||
+ | В данное время библиотека дорабатывается. | ||
== Ссылки == | == Ссылки == | ||
Line 24: | Line 26: | ||
*[http://zengl.org/forum Официальный Форум] | *[http://zengl.org/forum Официальный Форум] | ||
*[http://code.google.com/p/zengl/issues/list Bugtracker] | *[http://code.google.com/p/zengl/issues/list Bugtracker] | ||
+ | *[https://github.com/Seenkao/New-ZenGL Новая версия] | ||
== Обучающие примеры == | == Обучающие примеры == | ||
+ | |||
+ | '''Внимание!''' Все примеры содержатся в скачиваемой версии библиотеки. На данное время это актуально для всех версий ZenGL. | ||
[[ZenGL Tutorial]]: Первый пример для ZenGL знакомит с самой библиотекой. Рассказывается о том как скачать, установить библиотеку. Настроить компилятор (среду разработки) для компиляции проектов. Сборка проекта как статической так динамической библиотекой ZenGL. А так же рассматривается одна и программ-примеров 'Initialization', которая входит в библиотеку ZenGL. | [[ZenGL Tutorial]]: Первый пример для ZenGL знакомит с самой библиотекой. Рассказывается о том как скачать, установить библиотеку. Настроить компилятор (среду разработки) для компиляции проектов. Сборка проекта как статической так динамической библиотекой ZenGL. А так же рассматривается одна и программ-примеров 'Initialization', которая входит в библиотеку ZenGL. | ||
Line 34: | Line 39: | ||
*Основные | *Основные | ||
− | ** библиотека может быть скомпилирована статически к проекту, или использоваться, как динамическая библиотека | + | ** библиотека может быть скомпилирована статически к проекту, или использоваться, как динамическая библиотека (в обновлённой версии только статическая компиляция) |
− | ** | + | ** рендеринг как в собственное, так и в заранее подготовленное окно (LCL, VCL) |
** журнал событий | ** журнал событий | ||
** загрузка ресурсов из файлов, памяти и '''zip''' архивов | ** загрузка ресурсов из файлов, памяти и '''zip''' архивов | ||
** многопоточная загрузка ресурсов | ** многопоточная загрузка ресурсов | ||
− | ** | + | ** возможность расширить количество поддерживаемых форматов данных |
* Возможности настройки графики | * Возможности настройки графики | ||
** Сглаживание (antialiasing), разрешение и частоту обновления экрана (screen resolution, refresh rate) а так же контролировать вертикальную синхронизацию (v-sync) | ** Сглаживание (antialiasing), разрешение и частоту обновления экрана (screen resolution, refresh rate) а так же контролировать вертикальную синхронизацию (v-sync) | ||
− | ** | + | ** коррекция пропорций выводимого изображения относительно заданных размеров |
− | ** | + | ** управление заголовком и размером окна, наличие автоматического центрирования |
− | ** | + | ** управление видимостью курсора в пределах окна |
* Устройства ввода | * Устройства ввода | ||
− | ** | + | ** обработка событий клавиатуры, мыши и джойстика |
** ввод Unicode символов | ** ввод Unicode символов | ||
− | ** возможность ограничить ввод только латинской | + | ** возможность ограничить ввод только латинской раскладкой |
*Вывод Текстур | *Вывод Текстур | ||
** поддержка форматов '''tga''', '''png''', '''jpg''' и '''pvr''' | ** поддержка форматов '''tga''', '''png''', '''jpg''' и '''pvr''' | ||
** поддержка текстур размером не кратным 2 (Non Power Of Two) | ** поддержка текстур размером не кратным 2 (Non Power Of Two) | ||
− | ** | + | ** управление параметрами фильтрации |
− | ** | + | ** работа с масками |
** ''render targets'' отрисовка в текстуры | ** ''render targets'' отрисовка в текстуры | ||
*Вывод текста | *Вывод текста | ||
** реализация Unicode шрифты на основе текстур | ** реализация Unicode шрифты на основе текстур | ||
** вывод UTF-8 текста | ** вывод UTF-8 текста | ||
− | ** | + | ** управление отступами, размером, цветом вершин и количеством символов в тексте |
− | *2D | + | *2D подсистема |
− | ** ''batch render'' | + | ** ''batch render'' для повышения производительности рендеринга |
− | ** | + | ** рендеринг основных видов примитивов |
** спрайтовый движок | ** спрайтовый движок | ||
** вывод статических и анимированных спрайтов и тайлов | ** вывод статических и анимированных спрайтов и тайлов | ||
− | ** | + | ** рендеринг трансформирующейся сетки |
− | ** | + | ** рендеринг спрайтов с ручным указанием текстурных координат(с пиксельной размерностью и обычным 0..1) |
− | ** | + | ** управление режимом блендинга и смешивания цвета |
− | ** | + | ** возможность назначения цвета и альфы отдельным вершинам спрайтов и примитивов |
− | ** | + | ** дополнительные трансформации спрайтов(зеркальное отражения, увеличение, смещение вершин) |
− | ** | + | ** быстрое отсечение спрайтов выходящих за пределы видимости |
− | ** 2D | + | ** наличие 2D камеры с возможностью увеличения и поворота содержимого сцены |
* Звук | * Звук | ||
** вывод звука с помощью библиотек OpenAL или DirectSound (зависит от настроек проекта и операционной системы) | ** вывод звука с помощью библиотек OpenAL или DirectSound (зависит от настроек проекта и операционной системы) | ||
** возможность правильной работы, даже при отсутствии звуковой карты | ** возможность правильной работы, даже при отсутствии звуковой карты | ||
** поддержка форматов '''wav''' и 'ogg''' | ** поддержка форматов '''wav''' и 'ogg''' | ||
− | ** воспроизведение файлов | + | ** потоковое воспроизведение аудио-файлов |
** контроль за громкостью звука и темпом воспроизведения | ** контроль за громкостью звука и темпом воспроизведения | ||
− | ** | + | ** трехмерное позиционирование источника звука в пространстве |
* Видео | * Видео | ||
** декодирование видео заставок в текстуры | ** декодирование видео заставок в текстуры | ||
** поддержка кодека '''theora''' в формате '''ogv''' | ** поддержка кодека '''theora''' в формате '''ogv''' | ||
* Математический вычисление | * Математический вычисление | ||
− | ** | + | ** базовый набор вспомогательных мат. функций |
− | ** | + | ** необходимый набор функций для триангуляции |
** простейшие функции проверки столкновений | ** простейшие функции проверки столкновений | ||
− | * | + | * Доплнительно |
** чтение и запись INI файлов | ** чтение и запись INI файлов | ||
** дополнительные функции для работы с файлами и памятью | ** дополнительные функции для работы с файлами и памятью | ||
+ | |||
+ | == В обновлённой версии == | ||
+ | |||
+ | *Корректирована компиляция под android под версию FPC 3.2.0 и выше. | ||
+ | *Перебран основной код для коррекции работы библиотеки | ||
+ | *Редактирована работа с Windows 64 | ||
+ | *Исправлены мелкие баги | ||
+ | *Редактированы некоторые демо-версии (для FPC и iOS демки не правились, перебраны демо-версии для Lazarus и Delphi) | ||
+ | *Введены дефайны | ||
+ | ** дефайн USE_EXIT_ESCAPE - выход. Возможность не писать дополнительный код для выхода из программы по нажатию клавиши Escape | ||
+ | ** дефайн USE_INIT_HANDLE - для использования ZenGL в уже созданное окно (LCL, VCL) | ||
{{AutoCategory}} | {{AutoCategory}} |
Revision as of 02:04, 31 October 2020
│
Deutsch (de) │
English (en) │
español (es) │
français (fr) │
русский (ru) │
ZenGL/ru |
Tutorial 1 |
Tutorial 2 |
Tutorial 3 |
Edit
ZenGL - кросс-платформенная библиотека, разработанная, чтобы обеспечить необходимый функционал для отрисовки двухмерных игр, обработки устройств ввода, воспроизведение звука и музыки.
Поддерживаемые ОС: GNU/Linux(32/64), Windows(32/64), macOS(Carbon), iOS, Android 2.1+
Компиляторы: Free Pascal, Delphi
Графические API: OpenGL, OpenGL ES 1.x, Direct3D 8/9
Аудио API: OpenAL, DirectSound
Лицензия: zlib
В данное время библиотека дорабатывается.
Ссылки
- Download ZenGL
- Extra Downloads
- Домашняя страничка проекта
- Wiki
- Официальный Форум
- Bugtracker
- Новая версия
Обучающие примеры
Внимание! Все примеры содержатся в скачиваемой версии библиотеки. На данное время это актуально для всех версий ZenGL.
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 и выше.
- Перебран основной код для коррекции работы библиотеки
- Редактирована работа с Windows 64
- Исправлены мелкие баги
- Редактированы некоторые демо-версии (для FPC и iOS демки не правились, перебраны демо-версии для Lazarus и Delphi)
- Введены дефайны
- дефайн USE_EXIT_ESCAPE - выход. Возможность не писать дополнительный код для выхода из программы по нажатию клавиши Escape
- дефайн USE_INIT_HANDLE - для использования ZenGL в уже созданное окно (LCL, VCL)