Covellite++
Описание
Кроссплатформенный фреймворк для разработки приложений на С++, позволяющий писать один и тот же код, дающий визуально одинаковый результат независимо от платформы (Windows/Android) и графического API (DirectX/OpenGL), использующий для рендеринга GUI библиотеку RmlUi (близкий по возможностям аналог CSS).
Также фреймворк предоставляет компонентную систему рендеринга 2D и 3D объектов, позволяющую строить сцену из объектов, состоящих из набора элементарных 'кубиков', использующих одни и те же данные (шейдеры, текстуры, буферы различных типов) множество раз без дублирования информации в памяти.
Представляет собой набор классов для создания:
- Главного объекта приложения (с возможность запуска как с непрерывной отрисовкой окна, так и перерисовкой окна только по произошедшему событию).
- Главного окна (операционной системы) приложения.
- Окна графического Api (требуемый Api можно указать в настройках).
- Окна GUI приложения с возможностью переключения между слоями (каждый слой окна - отдельный экран, с которым взамодействует пользователь) с автоматической обработкой нажатия кнопки "Назад".
- Сквозная система генерации и подписки на события (как системных, так и действий пользователя) с использованием функций обратного вызова.
- Локализация программы для выбранного языка.
- Android: автоматический вызов клавиатуры при выборе текстовых полей ввода.
Основные характеристики
- Кросс-платформенный:
- Windows (тестируется на Windows 7/10 x64).
- Android (тестируется на устройстве ARM64 API24).
- Позволяет встраивать код дополнительной отрисовки кадра, поверх которого будет отображаться GUI.
- Быстрый (Windows версия выдает ~1500 fps в режиме непрерывной отрисовки на ноутбуке со встроенной видеокартой, произведенном в 2012-м году).
Доступные реализации
Задаются как параметр настроек GraphicsApi в разделе Window.
- DirectX11 - требует Windows 7 и выше + поддержка со стороны железа.
- OpenGL - требует Windows 7 и выше + поддержка со стороны железа.
- OpenGLES3 - требует Android 4.4+ (API19+).
- Auto - будет использоваться графический Api, максимально доступный на данном устройстве:
- Windows: DirectX11//OpenGL.
- Android: OpenGLES3.
Видео
Перемещение по бесконечному, случайно генерируему ландшафту.
Рендеринг сцены с большим количеством точечных источников света.
Рендеринг с использованием PBR-материалов.
Рендеринг анимированных объектов.
Рендеринг во внеэкранную поверхность.
Скриншоты
Windows
Android
×
Manual
Скачать
История изменений
Структура решения
Исходные требования
Лицензия
Boost Software License
Автор(ы)
© UnicornumVerum 2016 - 2020 (unicornum.verum@gmail.ru)