openFrameworks

openFrameworks für iOS

Von am 24.01.2014

Im Zuge meiner Bachelorarbeit, in der ich Energiedaten visualisierte,  suchte ich ein Grafik und Visualisierungstool für iOS. In der Java bzw. Android Welt kann man auf Processing zurückgreifen, ein sehr beliebtes Tool für Creative Coding. Processing basiert aber auf Java, daher ist kein Einsatz auf iOS Geräten möglich. Will man ein ähnliches Tool für iOS, stößt man schnell auf openFrameworks (ofx). Das ist ein OpenSource C++ Toolkit für Creative Coding. Die Grafik Suite basiert auf OpenGL. Grundsätzlich läuft das Tool auf allen wichtigen OpenGL unterstützenden Plattformen. Also alle bis auf Windows RT und Windows Phone 8 (hat nur DirectX Support). Für iOS eignet sich das Tool vor allem für die Game Entwicklung und für Generative Art Applikationen.

Will man mit ofx für iOS entwickeln, muss man sich mal das Framework downloaden. Danach sollten sich die Examples ohne zusätzliches Konfigurieren kompilieren und starten lassen. Außerdem findet sich auf der ofx Homepage ein ausführliches Tutorial. Mit Hilfe des AppGenerators kann man neue Projekte erstellen und zusätzliche Addons hinzufügen. Den Addons kommt ein wichtiger Stellenwert zu: Sie erweitern die Basisversion von ofx um zusätzliche Technologien. Auf der Seite ofxaddons.com gibt es einen guten Überblick über diese Plug-Ins. Neben Kinect, openCV und UI Addons gibt es auch ein Lua oder nodeJS Addon.

Ich habe mit ofx 2 Visualisierungen für iOS entwickelt. Bei einer wird Stromverbrauch und Erzeugung durch ein Partikelsystem repräsentiert. Die zweite visualisiert den Verbrauch von Geräten mit einer CirclePacking-Methode. Zu Beginn war der Einstieg in C++ sehr schwierig. Vor allem das objektorientierte Programmieren fiel mir nicht leicht. Hat man sich aber ein bisschen eingelesen in Pointer und Vectors kommt man auch mit ofx zum Ziel. Vorteil ist natürlich auch, wenn man Ahnung vom Grafikprogrammieren mit OpenGL besitzt.

Partikelsystem

Ofx eignet sich sicher nicht zum Programmieren von Apps mit normalen GUIs und einfacher Logik. Hierfür sollte man Objective-C und die Standardlibraries verwenden. Will man jedoch ein Game oder ein visuell aufwändiges Projekt umsetzten, ist ofx sicher eine gute Wahl. Ein großer Vorteil ist auch die Lauffähigkeit auf Android. Man kann also Cross Plattform Apps mit C++ schreiben.

The comments are closed.