Defiance of Preset Limitations with vade
For many people in the motion graphics community, the name vade has become synonymous with a tireless, pissed off programmer with a resilience for weathering the myriad of bugs that appear after system updates. He visited us last weekend for a live visual performance to accompany Atom™ + Tobias’ acid techno beatdown at the Bunker. In the following days he dropped an abundance of his knowledge about Quartz Composer, reviewing logic & comparisons, feedback techniques, 3D meshes, GLSL, OpenCL, Core Image, Javascript, math expressions, and how to make custom plugins and apps.
I had a second to chat with vade (aka Anton Marini) about the correlation between his artist and developer personas, ideas for an OSC controller interface for iPad, and learning to despise the limitations of the tools at-hand.
Cullen Miller: You’ve been running wild on the computer graphics scene for a number of years now and have found yourself playing the role of both developer and artist. How do you straddle those two seemingly disparate guises? How does one relate to the other?
vade: I found myself interested in programming only as a means to an end, to make performance tools and effects that fit an aesthetic and workflow that suited me. Gaining an understanding of how things work “under the hood” has afforded me more possibilities in art, or at the very least, exploring some possibilities in aesthetics and building interesting tools. I think of programming as a technique that is helpful, just as understanding photographic processes, film theory and production tools, lighting, etc, can be helpful for those working in a visual field. Any knowledge will help expand possible insights and approaches to self expression.
CM: When you began developing some of the software tools that you’ve released into the public domain, such as Syphon or the v002 plugins, was your initial intention to release them publicly or were you building them for your own needs and realized that they would be useful to the graphics community?
vade: I don’t release all the tools I’ve made. Some have too specific of a particular aesthetic that I’m attached too or that I haven’t finished exploring – some things have too much of a personal fingerprint on them. If there isn’t much flexibility or “room” in an effect, or tool, I tend to not release it. That said, I also try to build things that have a range of expressive possibilities (effect wise, at least), or build tools that allow authorship. I do try to release most of the things I’ve made because so much of what I’ve learned has come from that tradition. Usually, people using the same expressive tool will come to very different creative ends. I’ve met people who’ve played great shows, only to find out after the fact they were using something I made, in a way I did not recognize. It’s quite nice and fun to experience that.
Syphon came out of a need for fast inter-application video routing. There were some existing solutions to that problem, but they were quite slow because technically there were software limitations on sharing resources on the GPU, and had to use non hardware accelerated sharing. 10.6 included some new additions that allowed Syphon to work fully accelerated. I made a first test version, and Tom Butterworth did an amazing amount of fine tuning, refactoring and optimizations. Without his help it would not have been as stable, fast and well received.
CM: You taught a Quartz Composer class here last weekend at GAFFTA. I know you’ve used Max/MSP/Jitter to develop applications and write a lot of your v002 plugins (with bangnoise) in Objective C. Can you explain why you’ve chosen to use Quartz Composer vs. some of the other visual programming environments?
vade: In my mind, the most interesting aspect of Quartz Composer is application integration. Quartz Compositions you create in the editor can be loaded in 3rd party applications, allowing them to be effected, processed, mixed together, used as sources or effects (or rendering destinations), and generally can be used to extend capabilities – interfacing with new hardware, etc. This means that your work is portable, and it also means that multiple tools that may excel in different ways may load your work, allowing you to experiment and find a tool that fits your needs.
To my knowledge, Quartz Composer is the only visual programming environment that offers such a level of integration. Additionally, making a custom application that loads and plays your Quartz Comps is exceedingly straightforward, allowing you to make your own performance, installation, etc app. It’s quite liberating.
All that said, Quartz Composer is not perfect. It excels in 2D image processing (video, stills, etc), but lacks audio processing, and I miss some features from Max/MSP (particularly some 3D geometry processing and interpretation objects) – but 3rd party plugins from various groups have helped iron much out.
CM: Aside from porting your compendium of tools to Mountain Lion, what is in the works for you these days? Any new tools or applications? Any performances, installations, or other things that you’re working on?
vade: I’ve been experimenting with some ideas for an OSC controller interface for iPad. I’m not particularly happy with applications like TouchOSC, since much of the interface in applications like these attempt to mimic tactile controls on a surface where there is no tactile feedback. Konkreet Performer is quite interesting, I like some of the approaches. I feel like multi-touch gesturing can be much more expressive than moving dials and knobs, with little feedback.
Tom Butterworth and I have also been working on some possible additions to Syphon.
CM: If you were to draw upon your experience and could give some pro tips to aspiring programmers or code-based artists, what you would it be?
vade: Learn to despise the limitations of your tools at hand, and force yourself to figure out inventive work arounds, make new tools. That’s been one of my driving forces in making software / art tools, not being satisfied with available solutions. Don’t let that stop you.
[person name=”vade” title=”Video Performance Artist, Programmer and Video Engineer” url=”http://vade.info/” thumb_url=”https://grayarea.org//wp/wp-uploads/2012/06/vade.png”] Anton Marini (vade) is a video performance artist, programmer and video engineer. His artwork focuses on improvisation and realtime manipulation of video. He plays, bends, rips, tears, shreds, morphs, molds, glitches and synthesizes pixels to form new visual experiences.
A former researcher in residence at NYU’s Brooklyn Experimental Media Center, he has taught at Parsons/New School Design and Technology Department and performed at many new media and video festivals around the world. He designs open source tools to help facilitate the video performance medium.
[/person]