Ofelia

Бесплатно
Открытый исходный код
Windows
macOS
Linux
Android
iOS

Сайт: github.com/cuinjune/ofelia

Ofelia — это внешняя библиотека для среды визуального программирования Pure Data (Pd), которая интегрирует возможности фреймворка openFrameworks и язык сценариев Lua для создания аудиовизуальных приложений и мультимедиа-инсталляций в реальном времени. Проект предназначен для расширения возможностей Pd за счёт доступа к графическим и мультимедийным функциям, недоступным в стандартных объектах, и предоставляет мост между процедурным кодированием и визуальным патчингом. Ofelia разрабатывалась как инструмент для художников, музыкантов и исследователей, работающих с интерактивными системами, позволяя сочетать обработку сигналов в Pd с рендерингом и управлением сценой через openFrameworks и управлять логикой через Lua-скрипты.

В основе Ofelia лежит модель модульных объектов, которые реализуют создание графических контекстов, загрузку и отображение текстур, работу с шейдерами, рендеринг геометрии и взаимодействие с входными устройствами. Объекты Ofelia могут запускать и исполнять Lua-скрипты, что даёт гибкость при описании поведения сцен, обработки событий и управления параметрами в реальном времени. Благодаря использованию openFrameworks обеспечивается кроссплатформенность и доступ к библиотекам для работы с изображением, видео и аппаратными интерфейсами, тогда как интеграция с Pure Data сохраняет привычный подход к аудиосинтезу и обработке сигналов.

  • Интеграция openFrameworks: доступ к рендерингу 2D/3D, работе с текстурами и шейдерами в контексте Pd.
  • Встраивание Lua: выполнение Lua-скриптов для управления логикой, событий и параметров в режиме реального времени.
  • Графические контексты: создание окон и offscreen-рендеринга, управление камерами и сценой.
  • Работа с мультимедиа: загрузка и воспроизведение изображений и видео, синхронизация с аудиосигналами Pd.
  • Взаимодействие с вводом: поддержка мыши, клавиатуры и подключаемых устройств для интерактивного управления.
  • Модульная архитектура: набор Pd-объектов для комбинирования графики и аудио в патчах.
  • Кроссплатформенность: совместимость с основными настольными ОС при условии сборки с соответствующими зависимостями.
  • Расширяемость: возможность создания пользовательских объектов и расширения функциональности через C++ и Lua.
Подробнее