Matthew Ragan is an interactive engineer at Obscura Digital, where his role on the software team is largely rooted in the systemic and artistic implementation of creative ideas and concepts. He has worked on projects in a wide range of technical and artistic needs from single user experiences to rendering large distributed realtime synchronous digital environments.
Are you a visual artist, programmer, creative designer, or video geek? Then you know a great deal of your success is based on the software you use and how successfully you master it. Now that people are moving from 2D to 3D and programming realtime interactive multimedia content, the software chosen had better be savvy and robust. For Matthew Ragan, an interactive engineer at Obscura Digital, a global company based in San Francisco, one of his software picks is Derivative’s TouchDesigner. Here’s what he has to say about the latest release, 099:
Obscura is no stranger to big resolutions, daunting challenges, and tight deadlines. For those familiar with Derivative’s TouchDesigner, it should come as no surprise that the product once called the Swiss Army Knife of Video, is one of the go-to tools in the Obscura arsenal. Used for jobs both large and small, TouchDesigner provides for a flexible development environment and programming tool that can also be deployed for installations and events alike.
For the uninitiated, TouchDesigner is a node-based procedural programming environment. Its user interface is across between MaxMSP and Houdini with viewports at each operational step. In addition to having an aesthetic appeal all its own, the windowed interface pragmatically allows artists and developers the opportunity to peek into their work at each step as a kind of visual debugging process.
Touch projects are organized as networks of operations strung together with animated multi-colored wires; if you haven’t seen the inner workings of a TouchDesigner project, you’re in for a treat. Sometimes sprawling and branching, sometimes tidy and linear, networks carry an aesthetic organization all their own and often bring new meaning to the term “spaghetti code.” More than just little multicolored wires and boxes, however, TouchDesigner supports both 2D and 3D pipelines with a focus on GPU acceleration. The environment also has robust support for UI building and screen-based interaction entry points. Under the hood, there’s support for working in Python, C++, and GLSL.
For close to two years, TouchDesigner wore the suffix 088, which was fantastic when it first launched. It brought about numerous upgrades, performance boosts, and the inclusion of Python as a scripting language. Time, however, marches onwards, and the crack team at Derivative has been hard at work thinking about the future of the toolkit. The official release of TouchDesigner099 brings a litany of new and thrilling changes bound to push artists and engineers alike to create, design, and program in new ways.
Perhaps one of the most exciting changes is Derivative’s move to release a MacOS version of TouchDesigner. Long in the category of Windows-only applications, Derivative has moved to embrace a cross-platform development approach, addressing one of the chief concerns of many artists hesitant to dig in and play. While there are still a handful of features that are Windows-only (mostly due to drivers and operating system support), the application moves between operating systems astonishingly well. In addition, the Derivative team is quick to address bug reports and constantly pushing updates so artists can keep working.
In addition to being cross-platform, 099 brings some great, new features to the OpenGL rendering pipeline. Taking a cue from several other game engines and development environments, the new release now supports Physical Based Rendering as a material type for realtime rendering. Commonly referred to as PBR, this rendering technique seeks to more accurately model how light interacts with materials in 3D rendering. All of the math aside, what this means for artists and spectators is the inclusion of a new material type for 3D rendered objects that more closely mirrors the real world. That ends up looking like better specular behavior on materials, gloss, and texture that feels layered and dimensional, and grit that you’d swear was rough against your skin. Far and away, it’s one of the best new features, and the time and effort put into getting this feature right shows, from the inclusion of new environment lights to help get reflections right, to support for using textures created specifically for a PBR pipeline with Substance Designer.
Realtime rendering has a lot of gloss and appeal, but it’s also clear that the time developers spent making a front-end interface was also high on Derivative’s hit list for 099. A general reorganization and focus on fast-scaling elements means that developers can create interfaces that are both faster to create and more performant in the field. While the learning curve for creating UIs in TouchDesigner still has some peaks and valleys, it’s clear that Derivative is focused on helping artists make their interactive entry points faster and more scalable.
Screens, however, aren’t the only devices we use for installations and events, so it should come as no surprise that the new release also brings with it a host of support for additional devices. From greater flexibility through sACN and DMX, to LED strips, Cast BlackTrax and video capture cards, the list of devices and communication protocols is ever-growing. Included in this list is support for the network-based NDI streaming protocol. Low latency and high performance make this an exciting inclusion for anyone thinking about how to solve problems of moving video around over a network rather than focusing on capture cards.
New advances from NVIDIA and AMD have meant huge gains for GPUs in the last year, a change that hasn’t gone unnoticed to Derivative. Leveraging these new hardware features has meant some clever work to allow for multi-projection rendering for VR projects. This effectively allows for both views (right eye and left eye) to be rendered in the same pass, making for a much more performant experience. In addition to these hardware developments, the team in Toronto has taken some time to include wider support for VR development. Practically speaking, that looks like better documentation and a starter project for artists/developers looking to dive in to working with an Oculus or HTC headset.
To really understand one of the top new features, we need to first step back and consider an addition that was made in the mid-088 cycle. When Custom Parameters first made their debut, it opened a new world of customization and control for modular component building. Custom Parameters suddenly meant that developers could add control elements that looked and behaved just like the parameters on native operators and, best of all, didn’t require any additional interface building. Instead, adding a slider, color picker, an open file dialogue, and so much more was just a right-click away. For those working with TouchDesigner already, this added feature changed how people worked overnight.
In 099, the addition of component privacy builds on the existing idea of reusable modules and amplifies their influence in ways that we’re only just starting to see. In the past, only whole projects could be kept private. This is great for protecting the intellectual property of a project, but it has one significant shortfall: component sharing and room for developers to share or sell modules. Pro license holders will now find that they have the ability to lock individual modules in addition to whole projects. This is the first step towards an ecosystem for artists and developers to share or monetize their work on a module-based level, rather than on whole projects. Plug-in structures have long been the bread and butter of many creatives, and this feature addition makes a space for the community to grow and expand in truly thrilling ways.
As with all new releases, it’s impossible to capture all of the additions and revisions that developers are excited about, but it is safe to say that it’s an exhilarating time to be a TouchDesigner developer and artist. For those of you who haven’t yet started building networks, there’s never been a better time to start. Happy programming!