Wie man Bilder programmiert
Pixel Bender ist Adobes leistungsfähige Programmierschnittstelle, die das Entwickeln eigener Photoshop-Filter einfach macht – vergleichsweise.
Matthias Schüssler Anfang Oktober 2007 enthüllte Adobe eine Technologie, die beim Start den Codenamen «Hydra» trug. Die von der vielköpfigen mythologischen Wasserschlange entlehnte Bezeichnung wurde 2008 durch den offiziellen Namen Pixel Bender ersetzt. Trotzdem wachsen Adobes Kreation neue Köpfe, mit der sie sich in neue Produktfelder vorwagt. Zuerst war sie in der Videoanimationssoftware zu finden. Dann hielt sie Einzug in Flash. Heute steckt sie auch in Photoshop.
«Hydra» alias Pixel Bender ist eine Technologie zur Bild- und Videobearbeitung. Sie läuft auf verschiedenen Hardwareplattformen und nutzt flexibel die Möglichkeiten der Hardware – sprich, mehrere Prozessorkerne und der Grafikprozessor (GPU) werden automatisch in Beschlag genommen.
Verfremdungen in Echtzeit
Auf potenter Hardware erzielt Pixel Bender auch bei rechenintensiven Effekten eine atemberaubende Performance. In Demos werden komplexe Verfremdungen in Echtzeit auf Videobilder angewendet. Photoshop zeigt auch bei Bildern mit vielen Megapixeln eine Vorschau der Filter in Echtzeit. Und interaktive Flash-Filme warten mit kinoreifen Tricks auf.
Photoshop erhält mit Pixel Bender eine neue Filter-Schnittstelle, die in Photoshop CS4 und CS5 die neuen Möglichkeiten mit zwölf Filtern demonstriert. Nach der Installation von Pixel Bender für Photoshop (diese Erweiterung ist im Publisher-Downloadbereich zu finden; eine Beschreibung finden Sie auf Seite 76 in diesem Heft) stehen die Filter über Filter > Pixel Bender > Pixel Bender Gallery bereit. Zwölf Demo-Effekte sind vorhanden. Convergence erzeugt eine chromatische Aberration im Bild. Fisheye berechnet die kugelförmige Bildverformung eines Fischaugen-Objektivs. Smudge berechnet ein komplexes Wellenmuster und Tube stopft das Ausgangsbild in eine Tunnelröhre.
Photoshop-Effekte entwickeln
Das ist aber erst der Anfang. Adobe stellt für Pixel Bender eine Entwicklungsumgebung bereit. Mit dem Pixel Bender Toolkit (zu finden im Publisher-Downloadbereich) lassen sich eigene Filter entwickeln. Diese stehen in Flash oder After Effects zur Verfügung und können – und das ist das eigentlich Interessante – in Photoshop in die Pixel Bender Gallery integriert werden. Wollte man bis anhin eigene Photoshop-Filter entwickeln, musste man zu Filter Factory oder FilterMeister greifen, zwei eher limitierten Entwicklungsprodukten. Heute ist das kostenlos mit dem Pixel Bender Toolkit möglich. Hat man im Toolkit einen Filter entwickelt, den man gerne in Photoshop verwenden möchte, kopiert man die Textdatei mit Endung .pbk aus dem Toolkit-Ordner in den Pixel-Bender-Ordner im Photoshop-Verzeichnis (c:Program FilesAdobeAdobe Photoshop [Version]Pixel Bender Files) und kann ihn danach über Filter > Pixel Bender > Pixel Bender Gallery benutzen.
Eigene Filter, die man selbst nutzt oder per Internet weitergibt, sind eine spannende Sache, bei der sich natürlich sofort die Frage stellt: Wie schwierig ist denn das Programmieren eines eigenen Filters?
Kämpfen wie einst Herkules
Die Antwort lautet: Schwierig – «Hydra» trägt nicht umsonst den Namen eines Monsters. Es braucht konkret zweierlei: Erstens Kenntnis der Programmiersprache C oder einer anverwandten Sprache. Zweitens muss man auch in Mathematik sattelfest sein, denn es sind komplexe Algorithmen, mit denen man digitalen Fotos zu Leibe rückt.
Die Hürden liegen hoch, aber deswegen sollte man sich nicht abschrecken lassen – auch wenn man nicht Herkules heisst, wie der Bezwinger der Hydra in der griechischen Mythologie. Wichtig ist, sich in kleinen Schritten an die Materie heranzutasten und sich die Sache von Kevin Goldsmith erklären zu lassen. Er ist der Chefentwickler in Adobes Image Foundation Team und erklärt die Grundlagen in einem knapp halbstündigen Video, das man auf Adobes Website Pixel Bender Technology Center findet (den Link finden Sie in der Box auf dieser Seite). Es gibt dort auch erklärende Beiträge in Textform, die ausführlich erläutern, wie einzelne Effekte funktionieren und wie man per Programmcode seine Bilder manipuliert – Farben verändert, Filter über Schieberegler steuert oder die Kontrolle eines Filters per Maus programmiert.
Hinter die Kulissen sehen
Hat man sich die Grundlagen angeeignet, kann man sich die mitgelieferten Beispiele ansehen oder Pixel-Bender-Code-Beispiele inspizieren und modifizieren.
Ein dankbares «Opfer» für eigene Experimente ist der Sepia-Effekt, den Adobe mit dem Toolkit mitliefert. Indem man ihn ergänzt und verändert, kann man in zwei Stunden einen Filter entwickeln, der einem Bild eine individuelle Farbnote verpasst – was für einen Hobby-Programmierer ein echtes Erfolgserlebnis darstellt und auch nicht schlechter ist, als die simplen Effekte, mit denen die Anwender der Instagram-iPhone-App ihre Schnappschüsse ausstatten, um mit diesen danach soziale Plattformen wie Facebook zu überfluten. Wichtig ist, mit der richtigen Erwartungshaltung an Experimente heranzugehen: Man wird nicht aus dem Stand den ultimativen Photoshop-Filter entwickeln. Aber für einen Blick hinter die Photoshop-Kulissen oder für einen «Tweak» eines Filters aus dem Internet reicht es allemal!
Links und Beispiele
Adobes Pixel Bender Technology Center: www.adobe.com/devnet/pixelbender.html. Hier sind auch die Einführungs-Videos von Kevin Goldsmith zu finden.
Eindrückliche Beispiele aus der Community gibt es auf www.adobe.com/cfusion/exchange; einfach nach «Pixel Bender» suchen.
Dynamische Echtzeit-Effekte für Videos: http://www.brooksandrus.com/blog/2009/01/19/pixel-bender-effects-video-killer-runtime-effects/