Преимущества и возможности

Libgdx - это Java фреймворк, предоставляющий кросс-платформенный API для разработки игр и приложений реального времени. Он также предлагает следующие возможности:

Основные

  • Кросс-платформенная разработка для Android, iOS, Windows, Linux и HTML5 (32 бита и где возможно 64 бита).
  • Множество back-end основанные на Jogl, LWJGL, Angle (NVIDIA 3D Vision), Android APIs, iOS APIs и WebGL/HTML5 API.
  • Написание кода и тестирование на вашем компьютере и плавное разворачивание на Android, iOS, чистом JavaScript, Applets, Webstart или как обычное приложение для персонального компьютера.

Графика

  • Визуализация посредством OpenGL ES 1.0, 1.1 и 2.0 на всех платформах.
  • Поддержка OpenGL 2.0 на Android 2.0 и выше через JNI.
  • Низкоуровневые возможности:
    • Массивы вершин (vertex arrays)
    • Объекты буферизации вершин
    • Текстуры
    • Текстурные атласы
    • Гибкий и легкий в использовании класс Mesh для фиксированного и программируемого pipeline
    • Объекты буферизации кадров
    • Шейдеры
    • Класс прямого режима визуализации (для отладки, glBegin()/glEnd())
    • Автоматическое отслеживание потери OpenGL контекста (текстур и воссоздание VBO)
  • Высокоуровневое 2D
    • Рендеринг спрайтов с пакетированием (Batch) и кэшированием
    • Битовые шрифты
    • Системы частиц
    • Визуализация TMX тайловых карт
    • Графическая библиотека C 2D для битовых манипуляций на уровне процессора
    • Полноценный граф 2D сцены с tween анимацией
  • Высокоуровневое 3D
    • Загрузчики OBJ и MD5 моделей
    • По-кадровая и скелетная анимация
    • Ортогональная и перспективная камера

Аудио

  • Воспроизведение музыки и звуковых эффектов из WAV, MP3 и OGG файлов
  • Быстрое преобразование Фурье посредством JNI моста KissFFT
  • Аудио декодирование OGG и MP3 через JNI мост Tremor и libmpg123 (libmpg123 не функционирует из-за проблем с лицензирование)
  • Прямой интерфейс аудио устройства для проигрывания и записи семплов

Файлы

  • Абстрактный слой единых Android asserts, classpath ресурсов и файловой системы
  • Настройки (preferences) для удобного хранения небольших данных

Ввод

  • Доступ к прикосновениям сенсорного экрана, мыши и клавиатуры основанных на обработке событий и очереди
  • Доступ через очередь к компасу и акселерометру
  • Поддержка вибратора
  • Обработка событий удаленного ввода позволяет подключить Android телефон к приложению на компьютере.

Математика и Физика

  • Классы векторов и матриц для линейной алгебры в 2D и 3D
  • Кватернионы
  • Отсечения по пирамиде видимости (Frustum Culling)
  • Фигуры границ (Bounding Shapes)
  • Проверки перекрывания и пересечения
  • Catmull-Rom сплайны
  • Разрез произвольного плоского полигона
  • Полноценная JNI обертка box2d

Утилиты

  • Коллекции
  • Сортировка
  • JSON

Инструменты и Расширения

  • Редактор частиц
  • Hiero генератор битовых шрифтов
  • Упаковщик текстур
  • Поддержка Themable Widget Library
  • Awesomium JNI мост (только Windows 32 бит)

Оптимизация

  • Специальные необходимые требования для Dalvki VM в соответствии с практическим руководством
  • Нет выделения временных объектов в Runtime (исключения для нескольких документированных мест)
  • Нативный код для повышения быстродействия на критических участках
  • Временные решения для отображения Dalvik/Harmony багов

Что такое libgdx

Высокопроизводительный, кросс-платформенный фреймворк для разработки игр используемый как основа движков и игр. Объявление libgdx как фреймворка позволяет вам сфокусироваться на прочной основе, нежели попытки воплотить последнюю и лучшую в играх архитектуру движка. Libgdx дает вам гибкость и помогает в разработке, вместо головной боли от строгой методологии.

Комментариев нет:

Отправить комментарий