# OpenFrameworks

O openFrameworks é uma ferramenta open source desenhada para programação de aplicações multimédia, como sistemas interactivos, que envolvam programação de áudio, vídeo, análise de imagem assistida por computador, e toda uma série de outras coisas. O OpenFrameworks é escrito em C++ e implementado a partir da API OpenGL do Khronos Group. Corre em Microsoft Windows, macOS, Linux, iOS, Andorid, e Emscripten. É mantido por Zachary Lieberman, Theo Watson e Arturo Castro com contribuições no github por parte da comunidade de utilizadores da plataforma.

## História

O OpenFrameworks v0.01 foi publicado por Zachary Lieberman a 3 de Agosto de 2005. Em Fevereiro de 2006, a versão 0.03 encontrava-se em uso por parte dos alunos de Lieberman na Parsons School of Design, em Nova Iorque. De acordo com os autores, o openFrameworks foi desenvolvido:
   (para) pessoal que use computadores para fins de expressão criativa, e artística, e para aqueles que desejem ter acesso de baixo nível a informação em conteúdos/media, com vista a manipular, analisar, e explorar conteúdos. O principal objectivo da plataforma era a interoperabilidade de bibliotecas de C++, tanto para utilizadores alto, como baixo nível.

## Projectos relacionados

A sua ênfase em usos creativos tem paralelos com a Processing. Apresenta um interface simplificado para bibliotecas poderosas para multimédia, hardware e comunicação. A diferença principal entre o openFrameworks e o Processing é o facto de o openFrameworks ser escrito em C++ em vez de Java. Os utilizadores encontrarão muitas similaridades entre as duas bibliotecas, por exemplo aquilo que é conhecido como beginShape em Processing é conhecido como ofBeginShape em openFrameworks. A wiki de openFrameworks inclui um artigo para pessoas que estejam a fazer a transição para openFrameworks a partir de Processing.
Outro projecto similar é a [[(biblioteca de programação) Cinder|Cinder), que também é uma biblioteca para C++ para programação criativa. A diferença principal é que o openFrameworks tem um número maior de dependências de bibliotecas opensource, permitindo a programadores mais avançados maior controlo e transparência, enquanto que o Cinder é mais dependente em bibliotecas construidas dentro de cada plataforma, o que normalmente implica que updates e bug fixes são mais frequentes e confiáveis com openFrameworks.

## Licença

O OpenFrameowkrs é publicado a partir de uma licença MIT. As bibliotecas usadas por cada frameworks tem as suas próprias licensas.

## Real-world projects

Projectos notáveis criados com openframeworks:
* audio space por Theodore Watson
* drawn por Zach Lieberman
* colors por Cory Arcangel
* re-gaze por Chris Sugrue
* L.A.S.E.R. Tag por Theo Watson/Graffiti Research Lab
* EyeWriter por Free Art and Technology (F.A.T.), OpenFrameworks, Graffiti Research Lab, e The Ebeling Group em colaboração com TEMPTONE
* Magic Torch por Alberto García, Julio Obelleiro, Martín Nadal e Alberto Cortés
* Le Sacre du Printemps por Klaus Obermaier com o Ars Electronica Futurelab, Chris Sugrue, e Matthias Bauer.
* TouchKit Multitouch System por NOR_/D
* Quase-Cinema VJ software por Alexandre Rangel
* Globe4D por Rick Companje, Nico van Dijk, Danica Mast, Hanco Hogenbirk
* Starry Night interactive animation por Petros Vrellis
* CCV 2D Multitouch Tracking por NUI Group Community
* Super Hexagon por Terry Cavanagh
* Tournament Arena Soccer um jogo 3D para android por Nitra Games Ltd.
* B/Side de João Martinho Moura