openFrameworks

Open-Source-Toolkit

openFrameworks ist ein auf „Creative Coding“ (kreatives und intuitives Programmieren) ausgelegtes Open-Source-Toolkit, in C++ geschrieben und auf einer Vielzahl von Betriebssystemen lauffähig. Neben Beiträgen einer Vielzahl von Mitgliedern der openFrameworks-Community wird das Projekt von Zachary Lieberman, Theo Watson und Arturo Castro gepflegt.

OpenFrameworks

Basisdaten

Entwickler Zachary Lieberman, Theo Watson, Arturo Castro
Aktuelle Version 0.11.2
(14. März 2021)
Betriebssystem Mac OS X, Microsoft Windows, Linux, iOS, Android
Programmiersprache C++
Kategorie Framework
Lizenz MIT-Lizenz
openframeworks.cc
openframeworks logo
Das OpenCV Add-on-Beispiel in openFrameworks.

Geschichte Bearbeiten

openFrameworks V. 0.01 wurde von Zachary Lieberman am 3. August 2005 veröffentlicht. Den Programmierern zufolge richtet sich openFrameworks an Benutzer, die „Computer für kreative, künstlerische Darstellung benutzen und low-level-Zugriff auf die in Medien enthaltenen Daten wollen, um zu manipulieren, zu analysieren und zu erkunden. Wir empfanden die verfügbaren C++ Bibliotheken als ungenügend für diese Zielgruppe.“[1]

Ähnliche Projekte Bearbeiten

Der Schwerpunkt von openFrameworks liegt beim kreativen Programmieren und zieht damit klare Parallelen zur Softwarebibliothek Processing, einer Java-basierten Anwendung ausgelegt auf elektronische Kunst und visuelles Design. Beide Projekte bieten vereinfachte Schnittstellen zu einer Vielzahl von leistungsstarken Softwarebibliotheken zur Medien- und Hardwaremanipulation sowie Kommunikation. Der Hauptunterschied zu Processing (geschrieben in Java) besteht darin, dass openFrameworks in C++ geschrieben ist. Viele Ähnlichkeiten zwischen den beiden Bibliotheken sind feststellbar – zum Beispiel ist beginShape() in Processing äquivalent zu ofBeginShape() in openFrameworks. Im openFrameworks wiki findet sich ein detaillierter Artikel über den Umstieg von Processing zu openFrameworks.[2]

Ein weiteres ähnliches Projekt ist Cinder (C++-basiertes Framework für fortgeschrittene visuelle Anwendungen),[3] ebenfalls ein C++-Framework, ausgelegt auf kreatives Programmieren. Der Hauptunterschied zwischen beiden ist die größere Anzahl von Verknüpfungen zu weiteren Open-Source-Bibliotheken von openFrameworks. Dies erlaubt fortgeschrittenen Programmierern mehr Kontrolle und höhere Transparenz. Cinder hingegen benutzt viele Bibliotheken des Betriebssystems, auf dem es läuft.

Lizenz Bearbeiten

openFrameworks wird unter der MIT-Lizenz veröffentlicht. Weitere Softwarebibliotheken, die von openFrameworks benutzt werden, haben ihre eigenen Lizenzen.[1]

Realisierte Projekte Bearbeiten

 
Präsentation von openFrameworks während des Ars Electronica Festivals 2008

Eine Galerie von Projekten ist auf der openFrameworks Webseite verfügbar.[4]

Weitere beachtenswerte openFrameworks Projekte:

  • graffiti analysis project von Evan Roth
  • audio space von Theodore Watson
  • drawn von Zach Lieberman
  • L.A.S.E.R. Tag von Theo Watson/Graffiti Research Lab
  • EyeWriter von Free Art and Technology (F.A.T.), openFrameworks, Graffiti Research Lab, und The Ebeling Group zusammen mit TEMPTONE
  • Magic Torch von Alberto García, Julio Obellerio, Martín Nadal und Alberto Cortés
  • Memento von Jeldrik Schmuch und Ulrike Gollner
  • Le Sacre du Printemps von Klaus Obermaier mit dem Ars Electronica Futurelab, Chris Sugrue, und Matthias Bauer.
  • TouchKit Multitouch System von NOR_/D
  • Quase-Cinema VJ software von Alexandre Rangel
  • Globe4D von Rick Companje, Nico van Dijk, Danica Mast und Hanco Hogenbirk
  • Starry Night interactive animation von Petros Vrellis
  • CCV 2D Multitouch Tracking von NUI Group Community
  • Super Hexagon von Terry Cavanagh

Einzelnachweise Bearbeiten

  1. a b frei übersetzt von openFrameworks FAQ
  2. openFrameworks for Processing users (zuerst muss einmalig "OF" in ein Formular eingetragen werden.)
  3. Cinder. In: GitHub. Abgerufen am 2. September 2013.
  4. openFrameworks Projektgallerie. In: openFrameworks.cc. Abgerufen am 11. September 2013.

Weblinks Bearbeiten