====== Openframeworks ====== ===== Worum geht's? ===== Wie auch Processing und Arduino ist Openframeworks eine Communitybasierte Codebasis, die kreativen Leuten helfen soll, computerbasierte Projekte umzusetzen, ohne sich primär mit dem Installieren von Libraries und Hilfskonstrukten herumzuschlagen. ===== Wo sind die Unterschiede zu Processing? ===== ==== Sprache ==== * Processing ist Java basiert * OpenFrameworks basiert wie Arduino auf C++ ==== Entwicklungsumgebung ==== * Processing bringt einen eigenen (schlechten, aber einfach bedienbaren) Editor mit * OpenFrameworks wird zusammen mit einem externen (**//Viel//** leistungsfähigeren, aber etwas komplexeren und extra zu installierenden) IDE verwendet. Insbesondere bieten diese IDEs Breakpoint-Debugging, also das Anhalten und Schrittweise Ausführen von Programmen zur Fehlersuche. ==== Hinzufügen von Libraries ==== * Processing bringt eine sehr komfortable Library-Verwaltung für Zusatzfunktionen mit * In OpenFrameworks ist das Hinzufügen von externen Libraries etwas hakeliger, dafür sind einige wichtige Libraries gleich dabei. ==== Bildverarbeitung ==== * Processing hat nur rudimentäre und sehr langsame Funktionen zur Verarbeitung von Kamerabildern * OpenFrameworks kommt zusammen mit OpenCV, //der// Standardlibrary für schnelle+leistungsfähige Bildverarbeitung. ==== Performance ==== * In Openframeworks (C++) geschriebene Programme sind deutlich performanter als solche in Processing (Java). Insbesondere bei vielen selbstprogrammierten Berechnungen kann das mehr als einen Faktor 10 ausmachen. ==== Kompatibilität ==== * Processing läuft ohne viel zusätzlichen Aufwand mit der mitgelieferten Entwicklungsumgebung auf so ziemlich allen Betriebssystemen und Plattformen * OpenFrameworks versucht das auch, muss aber zumindest auf unterschiedliche IDEs zurückgreifen. ==== Sonstges+Gemeinsamkeiten ==== * Beide laufen sowohl auf Mac, Linux und Windows * Beide sind von einer aktiven Community am Leben gehaltene OpenSource-projekte * Beide verwenden (leider oft schlecht geschriebene) Verpackungsklassen "Wrapper", um die (vermeintlichen) Komplexität professioneller Libraries vor dem Anfänger zu verstecken. ===== Vor dem Download: Welches IDE?===== Openframeworks gibt es [[http://openframeworks.cc/download/|hier zum freien Download.]] Als erstes steht eine Entscheidung für eine Entwicklungsumgebung ("IDE") an. Welches für euch in Frage kommt, hängt in erster Linie davon ab, welche Betriebssysteme ihr in eurer Gruppe einsetzt. Um es Kurz zu halten: * **Linux**: Nehmt Code::Blocks * **Windows+Linux gemischt**: Nehmt Code::Blocks * **Ausschließlich Windows**: Visual Studio von Microsoft ist etwas sleeker als Windows, gibt es für Studis oder als "Express" Version auch umsonst. Achtet unbedingt auf die richtige Version (2012, 2013 etc....) sie muss zu eurem Openframeworks-Download passen. * **Mac OsX**: Hier habt ihr keine Wahl, ihr müsst XCode benutzen, das es leider für kein anderes System gibt. Soll super funktioniern, habe ich aber noch nie ausprobiert... ===== Installation ===== Folgt den Installationsanleitungen für euer Betriebssystem und IDE, die auf der OpenFrameworks-Downloadseite verlinkt sind...