-
Автор темы
- #1
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Если коротко, openFrameworks — это проект с открытым исходным кодом на C++, представляющий собой набор укомплектованных инструментов (фреймворков) для разработки кросс-платформенных приложений, не только настольных, но и мобильных. Распространяетcя по лицензии MIT.
Разработка кросс-платформенных приложений еще никогда не была настолько простой. Да, мы уже знакомы с подобными либами (навскидку: Qt, Cinder), однако openFrameworks идет еще дальше, предоставляя программисту более широкие возможности.
openFrameworks is detected
С самого начала openFrameworks создавался как инструмент для разработки технических приложений, требующих звукового и графического сопровождения. В настоящее время в состав входят модули для интеграции с Kinect и Andruino, с системой машинного зрения, с сенсором Leap Motion (пока не включен в релизную ветку) и другие.
Созданный в соответствии с философиeй DIWO (сделай это с помощью других), openFrameworks представляет собой не просто набор разрозненных фреймворков, а стройную библиотеку для языка C++, позволяющую одинаковым образом работать с разными фреймворками. То есть openFrameworks — это своего рода прослойка между пользовательским кодом и компонентами, связывающая их и предоставляющая программисту лаконичный интерфейс для работы с ними.
OpenFrameworks включает следующие библиотеки:
Втыкаем openFrameworks
Содержимое папки с openFrameworks включает следующие поддиректории:
INFO
Сторонних модулей очень много. Среди них имеются: поддержка сенсорного контроллера Leap Motion, инструменты слежения и распознавания лиц с помощью Kinect, поддержка физики, внешних инструментов (к примеру, таких, как Spine для создания двумерной анимации или свободный инструмент трехмерного моделирования Blender), различных систем GUI (например, GTK), скриптовых языков (JavaScript, Lua) и многое, многое другое.
Среди ядерных функций присутствует поддержка создания оконных приложений (для разных операционных систем), двумерной и трехмерной графики, коммуникации по последовательному кабелю (Andruino, Raspberry Pi), мощный математический аппарат (векторная, матричная алгебра), программирование звука, работа с видео, в том числе чтение «сырых» данных с камеры, различные типы данных и утилиты для работы с ними.
Кроме перечисленных модулей, у openFrameworks есть еще внушительный ряд
Установка и создание проекта
OpenFrameworks позволяет разрабатывать приложения под Windows, OS X, iOS, Linux, Android не только для архитектуры x86, но также для ARM. openFrameworks уже обзавелся поддержкой Windows 10 вместе с Visual Studio 2015 — с этим тандемом мы первым делом и проведем тестирование. Кроме VS 2015, openFrameworks под Windows можно заточить под среду Qt Creator.
Для начала из раздела Download
Первый: запусти из папки с либой ProjectGenerator.exe:
Project Generator
С его помощью можно создать новый проект с поддержкой любого доступного фреймворка. Обрати внимание, создаваемый проект должен находиться в одной папке с openFrameworks, в подкаталоге не глубже двух уровней вложенности. После создания проекта его можно открыть в Visual Studio 2015.
Этот вариант хорош, но есть способ лучше. Создавать проекты удобнее прямо из Студии, для этого надо установить расширение: Tools -> Extension and Updates, в открывшемся окне для поиска набираем название либы, спокойно ставим расширение. После этого в заготовках для проектов появится пункт openFrameworks. После выбора и создания проекта данного типа (обрати внимание, чтобы вложенность папки с твоим проектом не была глубже двух уровней, начиная от каталога с либой) появится окно выбора подключаемых фреймворков. Любой из них можно добавить позже — в процессе работы над проектом.
INFO
Обращаю твое внимание, что не каждый проект успешно создается из темплейтов Студии. Точнее, создается-то без проблем, но при связывании проекта возникают ошибки линковщика. Поэтому пока лучше воспользоваться генератором проектов.
Addons
Графический вывод
Для начала не будем подключать дополнительные фреймворки, а ограничимся ядерными, поэтому щелкнем на ОK. В результате будет создано решение, содержащее два проекта: собственно твой проект и второй — с необходимыми для компиляции первого файлами ядерных фреймворков. Любое приложение, построенное на основе openFrameworks, рендерит графику средствами OpenGL. Твой проект состоит из трех файлов: main.cpp — здесь происходит запуск основного устройства библиотеки (инициализация OpenGL для вывода) + запуск нашего кода.
Разработка кросс-платформенных приложений еще никогда не была настолько простой. Да, мы уже знакомы с подобными либами (навскидку: Qt, Cinder), однако openFrameworks идет еще дальше, предоставляя программисту более широкие возможности.
openFrameworks is detected
С самого начала openFrameworks создавался как инструмент для разработки технических приложений, требующих звукового и графического сопровождения. В настоящее время в состав входят модули для интеграции с Kinect и Andruino, с системой машинного зрения, с сенсором Leap Motion (пока не включен в релизную ветку) и другие.
Созданный в соответствии с философиeй DIWO (сделай это с помощью других), openFrameworks представляет собой не просто набор разрозненных фреймворков, а стройную библиотеку для языка C++, позволяющую одинаковым образом работать с разными фреймворками. То есть openFrameworks — это своего рода прослойка между пользовательским кодом и компонентами, связывающая их и предоставляющая программисту лаконичный интерфейс для работы с ними.
OpenFrameworks включает следующие библиотеки:
- для работы с графикой: OpenGL, GLEW, GLUT, libtess2, cairo;
- для работы с аудио, в том числе для анализа звука: rtAudio, PortAudio, OpenAL, Kiss FFT, FMOD;
- для шрифтов: FreeType;
- загрузка и сохранение изображений в различных форматах обеспечивается либой FreeImage;
- проигрывание и захват видео происходит посредством библиотек: QuickTime, GStreamer и videoInput;
- либа Poco включает средства для сетевого взаимодействия, другими словами — служит для разработки десктопных, мобильных приложений и приложений для встраиваемых систем, работающих по сети, как клиентских, так и серверных;
- OpenCV — библиотека для кoмпьютерного зрения;
- для загрузки 3D-моделей используется библиотека Assimp.
Втыкаем openFrameworks
Содержимое папки с openFrameworks включает следующие поддиректории:
- addons — содержит все расширения;
- apps — директория для твоих проектов;
- examples — содержит примеры работы с openFrameworks;
- каталог libs — содержит ядерную функциональность либы в целом.
- ofxAssimpModelLoader — позволяет загрузить в приложение 3D-модели широкого ряда форматов, модуль основан на библиотеке Пожалуйста, авторизуйтесь для просмотра ссылки.; (Не реклама)
- ofxEmscripten — служит для экспорта десктопных приложений для выполнения в вебе;
- ofxGui — как и следует из названия, предназнaчена для создания пользовательского интерфейса;
- ofxAndroid — реализует интерфейс программирования под Android на языке C++;
- ofxiOS — реализует поддержку программирования мобильных устройств на базе iOS (на языке C++);
- ofxAccelerometer — позволяет работать с акселерометром на любом поддерживаемом мобильном девайсе;
- ofxThreadedImageLoader — загружает в приложение изображения в независимом потоке;
- ofxSVG — предоставляет загрузчик для векторного формата SVG;
- ofxXmlSettings — сохраняет и/или загружает данные в XML-формате;
- ofxKinect — реализует поддержку программирования сенсора Kinect первой версии;
- ofxNetwork — создает сетевые TCP- и UDP-соединения и управляет ими;
- ofxOpenCv — предоставляет поддержку компьютерного зрения из библиотеки OpenCV.
INFO
Сторонних модулей очень много. Среди них имеются: поддержка сенсорного контроллера Leap Motion, инструменты слежения и распознавания лиц с помощью Kinect, поддержка физики, внешних инструментов (к примеру, таких, как Spine для создания двумерной анимации или свободный инструмент трехмерного моделирования Blender), различных систем GUI (например, GTK), скриптовых языков (JavaScript, Lua) и многое, многое другое.
Среди ядерных функций присутствует поддержка создания оконных приложений (для разных операционных систем), двумерной и трехмерной графики, коммуникации по последовательному кабелю (Andruino, Raspberry Pi), мощный математический аппарат (векторная, матричная алгебра), программирование звука, работа с видео, в том числе чтение «сырых» данных с камеры, различные типы данных и утилиты для работы с ними.
Кроме перечисленных модулей, у openFrameworks есть еще внушительный ряд
Пожалуйста, авторизуйтесь для просмотра ссылки.
(Не реклама), созданных сторонними разработчиками и не включенных в основной репозиторий.Установка и создание проекта
OpenFrameworks позволяет разрабатывать приложения под Windows, OS X, iOS, Linux, Android не только для архитектуры x86, но также для ARM. openFrameworks уже обзавелся поддержкой Windows 10 вместе с Visual Studio 2015 — с этим тандемом мы первым делом и проведем тестирование. Кроме VS 2015, openFrameworks под Windows можно заточить под среду Qt Creator.
Для начала из раздела Download
Пожалуйста, авторизуйтесь для просмотра ссылки.
(Не реклама) скачай последнюю версию либы (на момент написания статьи была 0.9.0), также можно стянуть с GitHub’а. Разработчики обращают внимание: новая версия не на 100% совместима с предыдущей, следовательно, старые проекты без переделывания не будут работать в новой версии либы. Распакуй скачанный ZIP-архив. Для создания проекта у тебя есть два варианта.Первый: запусти из папки с либой ProjectGenerator.exe:
Project Generator
С его помощью можно создать новый проект с поддержкой любого доступного фреймворка. Обрати внимание, создаваемый проект должен находиться в одной папке с openFrameworks, в подкаталоге не глубже двух уровней вложенности. После создания проекта его можно открыть в Visual Studio 2015.
Этот вариант хорош, но есть способ лучше. Создавать проекты удобнее прямо из Студии, для этого надо установить расширение: Tools -> Extension and Updates, в открывшемся окне для поиска набираем название либы, спокойно ставим расширение. После этого в заготовках для проектов появится пункт openFrameworks. После выбора и создания проекта данного типа (обрати внимание, чтобы вложенность папки с твоим проектом не была глубже двух уровней, начиная от каталога с либой) появится окно выбора подключаемых фреймворков. Любой из них можно добавить позже — в процессе работы над проектом.
INFO
Обращаю твое внимание, что не каждый проект успешно создается из темплейтов Студии. Точнее, создается-то без проблем, но при связывании проекта возникают ошибки линковщика. Поэтому пока лучше воспользоваться генератором проектов.
Addons
Графический вывод
Для начала не будем подключать дополнительные фреймворки, а ограничимся ядерными, поэтому щелкнем на ОK. В результате будет создано решение, содержащее два проекта: собственно твой проект и второй — с необходимыми для компиляции первого файлами ядерных фреймворков. Любое приложение, построенное на основе openFrameworks, рендерит графику средствами OpenGL. Твой проект состоит из трех файлов: main.cpp — здесь происходит запуск основного устройства библиотеки (инициализация OpenGL для вывода) + запуск нашего кода.