Mastering openFrameworks: Creative Coding Demystified


Книга о креативном программировании
Книгу можно купить на сайте издательства.
Или на Amazon.

openFrameworks – это набор инструментов (библиотек и функций), расширяющих возможности языка программирования C++ и сильно облегчающих задачи создания творческих мультимедийных проектов. Например, этот набор включает в себя разные функции для создания и обработки изображений, звука и других данных. Этот инструментарий кроссплатформенный и работает под Windows, Linux и Mac OS.

В ней описаны особенности openFrameworks и приводятся интересные примеры кода, как уже реализованных мультимедийных проектов, так и придуманных специально для книги. Все примеры можно скачать с сайта издательства по ссылке, которая дается в книге.
Книга написана на английском языке и продается в печатном и электронном виде

Краткий обзор глав.

1. OpenFrameworks basics
Здесь вы узнаете, как установить openFrameworks под вашу систему и научитесь создавать новые проекты. Так же здесь рассматривается структура папок и кода проекта.

2. Drawing in 2D
Здесь рассказывается об основах создания геометрических примитивов, управлении цветом, преобразовании координат и доступе к FBO для рисования в буфере.

3. Building a Simple Particle System
Здесь – о том, как происходит просчет физики взаимодействия частиц, рендеринге и управлении параметрами системы частиц.

4. Images and Textures
Здесь вы узнаете многое об обработке изображений: создание, загрузка, преобразование и геометрические искажения для видеомэппинга.

5. Working with Videos
Подробно о работе с видео-файлами и камерой. Здесь вы найдете очень интересные примеры работы с видеоэффектами, такими как slitscan и узнаете, как создать видеосинтезатор.

6. Working with Sounds
Здесь – о том, как обрабатывать и синтезировать звук. Вы научитесь трансформировать изображение в звуковые волны и обратно, создадите аудиосэмплер и узнаете, как сделать анимацию, реагирующую на музыку.

7. Drawing in 3D
Здесь рассматриваются основные методы создания 3D-графики с помощью встроенного набора инструментов. На примерах вы научитесь создавать геометрические примитивы, поверхности и источники света, а так же работать с цветом и текстурами.

8. Using Shaders
Эта глава одна из самых интересных в книге. С ее помощью вы научитесь создавать и использовать в своем проекте шейдеры – микро-программы на языке GLSL. Это часть кода, которая работает непосредственно на процессоре видеокарты и позволяет создавать удивительные видео-эффекты, такие как искажение цвета и геометрии, создание бликов, отражений, размытия и т.д. Здесь рассматриваются основы и нет полного курса по языку GLSL. Его вы можете изучить по книгам, ему посвященным.

9. Computer Vision with OpenCV
Здесь интересно об инструментах OpenCV – компьютерном зрении. С помощью этого набора функций вы сможете производить вычисления над изображениями: поиск объектов, анализ движения, исправление искажений, видео-морфинг и т.д.

10. Using Depth Cameras
Для создания интерактивных проектов, вероятно, вам захочется использовать камеру Kinect или аналогичную. Как с ней работать, вы узнаете здесь, а именно – как установить драйверы, получить видео-поток, работать с трекингом человека или отдельных частей тела и даже создадите интерактивную поверхность.

11. Networking
Эта глава последняя в книге и в ней вы узнаете, как использовать передачу данных между компьютерами или программами. Здесь есть информация об использовании протоколов OSC для передачи управляющих сигналов и TCP для передачи видеопотока.

В книге есть два очень полезных приложения.
А. Using addons
Об использовании дополнительных расширений: их список, установка, и о генераторе проектов.
B. Perlin Noise
Шум Перлина. Здесь описана очень полезная функция ofNoise(), с помощью которой можно придать реалистичности элементам вашего проекта, например, добавить случайности в поведение частиц, шума в видео-текстуру или придать музыкальному инструменту живого звучания.