ZenGL/ru

From Free Pascal wiki
Jump to: navigation, search

Deutsch (de) English (en) español (es) français (fr) русский (ru)


ZenGL/ru | Tutorial 1 | Tutorial 2 | Tutorial 3 | Edit


ZenGL - кросс-платформенная библиотека, разработанная, чтобы обеспечить необходимый функционал для отрисовки двухмерных игр, обработки устройств ввода, воспроизведение звука и музыки.

Поддерживаемые ОС: GNU/Linux, Windows, MacOS X, iOS, Android 2.1+

Компиляторы: FreePascal, Delphi

Графические API: OpenGL, OpenGL ES 1.x, Direct3D 8/9

Аудио API: OpenAL, DirectSound

Лицензия: zlib

Ссылки

Обучающие примеры

ZenGL Tutorial: Первый пример для ZenGL знакомит с самой библиотекой. Рассказывается о том как скачать, установить библиотеку. Настроить компилятор (среду разработки) для компиляции проектов. Сборка проекта как статической так динамической библиотекой ZenGL. А так же рассматривается одна и программ-примеров 'Initialization', которая входит в библиотеку ZenGL.

ZenGL Tutorial 2: Второй пример рассказывает о том, как создавать шрифты и выводить текст на экран.

Возможности библиотеки

  • Основные
    • библиотека может быть скомпилирована статически к проекту, или использоваться, как динамическая библиотека
    • вывод графики в окно, созданное самой библиотекой, так и внешним кодом
    • журнал событий
    • загрузка ресурсов из файлов, памяти и zip архивов
    • многопоточная загрузка ресурсов
    • лёгки способ добавления новых форматов ресурсов
  • Возможности настройки графики
    • Сглаживание (antialiasing), разрешение и частоту обновления экрана (screen resolution, refresh rate) а так же контролировать вертикальную синхронизацию (v-sync)
    • aspect correction
    • изменять заголовок, позицию и размер окна
    • коcursor visibility in window space
  • Устройства ввода
    • чтение данных от клавиатуры, мышки и джойстика
    • ввод Unicode символов
    • возможность ограничить ввод только латинской раскладки
  • Вывод Текстур
    • поддержка форматов tga, png, jpg и pvr
    • поддержка текстур размером не кратным 2 (Non Power Of Two)
    • control the filter parameters
    • masking
    • render targets отрисовка в текстуры
  • Вывод текста
    • реализация Unicode шрифты на основе текстур
    • вывод UTF-8 текста
    • rendering text with alignment and other options like size, color and count of symbols
  • 2D подсистему
    • batch render for high-speed rendering
    • отрисовка различных видов примитивов
    • спрайтовый движок
    • вывод статических и анимированных спрайтов и тайлов
    • rendering distortion grid
    • rendering sprites with new texture coordinates (with the pixel dimension and the usual 0..1)
    • control the blend mode and color mix mode
    • control the color and alpha of vertices of sprites and primitives
    • additional sprite transformations (flipping, zooming, vertices offset)
    • fast clipping of invisible sprites
    • 2D camera with ability to zoom and rotate the scene
  • Звук
    • вывод звука с помощью библиотек OpenAL или DirectSound (зависит от настроек проекта и операционной системы)
    • возможность правильной работы, даже при отсутствии звуковой карты
    • поддержка форматов wav и 'ogg
    • воспроизведение файлов во вспомогательных потоках
    • контроль за громкостью звука и темпом воспроизведения
    • перемещение источников звука в 3D пространстве
  • Видео
    • декодирование видео заставок в текстуры
    • поддержка кодека theora в формате ogv
  • Математический вычисление
    • дополнительные математические функции
    • тригонометрические функции
    • простейшие функции проверки столкновений
  • И ещё!
    • чтение и запись INI файлов
    • дополнительные функции для работы с файлами и памятью