Covellite++  Version: 2.3.0 Revision: 2580 Platform: x64 Build: 15:23 16.10.2020
Кроссплатформенный фреймворк для разработки приложений на С++
Исходные требования

v1

  • Фреймворк для создания Android приложений в Visual Studio с использованием OpenGL ES v1.
  • Отрисовка GUI, созданного в формате html//css.
  • Отрисовка GUI поверх отрисованного кадра OpenGL.
  • Отрисовка GUI после обработки события.
  • Отрисовка GUI непрерывно.
  • Создание программы в виде набора слоев, где каждый слой представляет собой отдельное окно программы с возможностью возврата к предыдущему слою нажатием Android кнопки BACK.
  • Подписка на системные/оконные события, а также события ввода пользователя (в том числе ввод текста) и выбора элементов управления.
  • Вызов клавиатуры при выборе текстовых полей ввода.
  • Локализация программы для выбранного языка.

v2

  • Создание приложения с единственным окном, которое строится из набора классов окон:
    • Окно операционной системы, параметры которого при его создании извлекаются из настроек приложения (кроссплатформенная реализация).
    • Окно графического API, которое инкапсулирует в себе весь код графического API. Отдельные реализации для каждого типа API с запретом компиляции для не подходящей платформы.
    • Окно рендеринга 3D сцены с возможностью манипуляции объектами как наборами компонентов/рендеров.
    • Окно GUI (реализация отображения графического интерфейса пользователя и взаимодействие с элементами управления). Кроссплатформенная реализация.
  • Возможность комбинировать объекты классов окон с учетом необходимости (в том числе встраивать вызов стороннего кода между отрисовкой окна графического API и окна GUI).
  • Фреймворк ориентирован на построение приложения в формате MVC.
  • Кроссплатформенный фреймворк с возможностью указания в настройках используемого графического API:
    • Windows (OpenGL v4.5).
    • Windows (DirectX 10/11).
    • Windows (DirectX 12).
    • Windows (Vulkan).
    • Android (OpenGL ES3).
    • Android (Vulkan).
    • Автоматический выбор наиболее подходящей реализации для платформы, на которой запускается приложение.
  • Компонентная система рендеринга, позволяющая коду, использующему фреймворк, создавать и оперировать объектами 3D сцены.
  • Одновременное отображение нескольких независимых панелей GUI.

  • Билборды.
  • Унификация работы с шейдерами HLSL и GLSL.
  • Компонент обновления.
  • Поддержка PBR материалов.
  • Мипмаппинг для текстур.
  • Чтение из текстуры.
  • Динамический вертексный буфер.
  • Пользовательский константный буфер.
  • Инстансинг.
  • Рендеринг во внеэкранную поверхность.