GLGraphics & GSVideo libraries for Processing

The GLGraphics and GSVideo libraries were my first contributions to the Processing project, developed mostly while I was doing an MFA at the Design Media Arts program at UCLA between 2007 and 2009.

Processing is a software sketchbook and a language for learning how to code within the context of the visual arts, as well as a prototyping and production tool for artists and designers. As such, it looks for a balance between ease of use and performance. Some of my projects at UCLA, inspired by my earlier work with Moldeo, required real-time graphics and video, which where areas that, back then, Processing struggled with. So I wrote these libraries in order to expand the real-time capabilties of Processing for visual and video work, with GLGraphics simplifying the use of advanced OpenGL features, including GLSL shaders, and GSVideo wrapping a powerful cross-platform multimedia toolking called GStreamer. Many people find these libraries useful and created numerous projects that would I had not imagined before:

GLSL heightmap by Amon Owed Chronograph by Casey Reas and Tal Rosner Visuals for Ludovico Einaudi's european tour by Matteo Ferroni and Arturo Reategui Papaffava Cascade by Jer Thorp & NYT Labs From the Fusion series by Dominik Strzelec Generating Utopia by Stefan Wagner Generative Portraits by Sergio Albiac Spontech Interactive Spine by Design and Systems Just Cause 2 visualization by Jim Blackhurst and Square-Enix Life in a Day touchscreen gallery by Google Data Arts Team From ModelBuilder by Marius Watz Metallics by thirst Montblanc Generative Artworks by onformative Turin Nike Store by ToDo Performer by Adam Frank The creators by Constanza Casas, Mark Mitchell and Pieter Steyaert Type Experiments by Guillaume Massol Unfolding library by Till Nagel

A showcase of projects using GLGraphics and GSVideo.

And below some videos:

GLGraphics and GSVideo eventually became part of the core OpenGL renderer and video library in Processing 2 and 3, and the underlying infraestructure that enabled high-performance video playback and capture in GSVideo evolved into a widely used set of Java bindings for GStreamer.

I have compiled a list of projects made with GLGraphics and GSVideo here, send me an email if you would like to see another project added there!