Processing 2.0
Seit September steht die Beta von Processing 2.0 zum Download auf Processing.org. Der Creative Coder und Designer Cedric Kiefer hat die Neuerungen unter die Lupe genommen.
»Nicht nur Künstler und Programmieranfänger experimentieren gerne mit Processing, auch professionelle Developer nutzen die Entwicklungsumgebung für komplexere Projekte. Sie schätzen den Open-Source-Charakter und die Möglichkeit, direkt in Java zu coden; außerdem ist die Vielfalt an Libraries in den letzten Jahren enorm gewachsen, was eine gründliche Überarbeitung nahelegte. Die Processing-Schöpfer Ben Fry und Casey Reas hatten schon auf der Eyeo Conference 2011 in Minneapolis dem Publikum einen Vorgeschmack darauf geboten, was von Processing 2.0 zu erwarten sei (https://vimeo.com/28117873).
Nun ist die Beta da. Diese hat nicht zuletzt in Sachen Performance deutlich gewonnen, denn bisher hinkte Processing vergleichbaren auf C++ basierenden Frameworks, wie zum Beispiel dem an die Processing-Syntax angelehnten openFrameworks (www.openframeworks.cc) oder Cinder (http://libcinder.org) deutlich hinterher.
Neu ist die Verwaltung für Tools und Libraries. Mit dem Library Manager lassen sich verfügbare Bibliotheken nun direkt aus der Processing-IDE verwalten und installieren – ein guter Schritt, denn angesichts von über hundert verfügbaren Libraries gestaltete sich dies zunehmend unübersichtlich. Außerdem braucht man eine Bibliothek nicht mehr umständlich von der entsprechenden Seite herunterzuladen und in den Processing-Ordner zu entpacken. Dasselbe gilt für Processing-Tools, mit denen sich der Funktionsumfang der IDE erweitern lässt. Eine automatische Update-Funktion sorgt zudem dafür, dass immer die neuesten Versionen der Tools und Bibliotheken verfügbar sind.
Auch über einen JavaScript-Modus, der Processing-Code in JavaScript-Code umwandelt, darf man sich freuen. Dieser ergänzt den Standard-Java-Modus und den bereits seit Processing 1.5 integrierten Android-Modus, mit dem sich Processing-Sketches als App auf Android-Smartphones ausführen lassen (WEAVE 02.11, Seite 58 ff.). Die nun vorliegende Processing-Version erlaubt keinen Export von Java-Applets mehr, sodass der JavaScript-Export den bisherigen Einsatz von Processing-Code auf Websites ablöst. Processing-Sketches lassen sich jetzt also auch ohne Erweiterung oder Plug-ins einfach mittels JavaScript in Websites integrieren (http://processingjs.org). Neben den drei bereits genannten Modi kann man in Processing nun auch eigene Modi entwickeln. Der Wiener Künstler und Programmierer Martin Leopold etwa stellte bereits einen Debug-Modus (http://debug.martinleopold.com) und den PhythonMode (http://is.gd/fiJiga) zur Kombination von Python und Processing ins Netz.
Die Processing-Renderer haben die Entwickler ebenfalls überarbeitet: So entfallen die bisher verfügbaren Renderer P2D und P3D und werden durch einen neuen OpenGL-Renderer ersetzt, der für den großen Performancesprung von Processing verantwortlich ist. Dieser ursprünglich als GLGraphics Library von Andres Colubri (http://codeanticode.wordpress.com) entwickelte Renderer ist nun fester Bestandteil von Processing. Damit werden alle Funktionalitäten von Processing mittels GLSL-Shadern umgesetzt. Dadurch und durch die neu hinzugekommene PShader-Klasse kann man nun GLSL-Shader direkt in Processing laden und nutzen (http://is.gd/2mX3LB). So lassen sich aufwendige Grafikeffekte jetzt performant direkt auf der Grafikkarte berechnen, was jedoch auch dazu führt, dass Android-3-D-Sketches erst auf Android-Geräten ab Version 2.3 (Gingerbread) laufen.
Auch die Videobibliothek wurde generalüberholt und basiert nicht mehr auf QuickTime, sondern auf dem sehr flexiblen Open-Source-Framework GStreamer, sodass Processing 2.0 auch unter Linux ohne externe Bibliotheken Videos abspielt. Dadurch laufen Processing-Videos jetzt viel schneller, was besonders den Einsatz von HD-Videos ermöglicht, von denen sich sogar mehrere parallel abspielen lassen – bisher lief in Processing nicht einmal ein einziges flüssig. Welche Möglichkeiten sich dadurch bieten, zeigt eindrucksvoll die Life in a Day Touchscreen Gallery, entwickelt vom Data Arts Team des Google Creative Labs (http://youtu.be/g4y6cppFxgo).
In diesem Zuge entfernte die Community auch die MovieMaker-Klasse zum Erstellen eigener Videoaufnahmen. Stattdessen kann man jetzt im Tools-Menü ein Hilfsprogramm aufrufen, das eine Serie exportierter Einzelbilder in ein Video konvertiert.
Neben den großen Änderungen bringt Processing 2.0 auch viele kleine Optimierungen mit sich. So wurde die XML-Klasse überarbeitet und an die einheitliche Processing-Syntax angeglichen. Und eine neue Table-Klasse ermöglicht das komfortable Einlesen von Daten in Tabellenform, zum Beispiel aus CSV-Dateien oder ähnlichen Formaten. Das Processing-Wiki informiert über alle Neuheiten und Änderungen (http://wiki.processing.org/w/Changes).
Wie sich Processing in konkreten Projekten einsetzen lässt, demonstriert Cedric Kiefer im PAGE eDossier »Generative Gestaltung mit Processing & Co«.
Das könnte dich auch interessieren