Senior Mathematician, SideFX
OpenVDB TSC member
Tell us a bit about yourself – how did you get your start in visual effects and/or animation?
I started programming because I wanted to write video games. I tended to find myself writing game engines rather than actual games, however. During my co-op terms at University, I first worked at Corel on PhotoPAINT, which showed how application development can unlock the creativity of others. But it was working at SideFX where I found my current calling. Computers represent a fundamentally new medium for art. I do not mean using computers to simulate brush on canvas, or to chisel away at 3d marble statues. Instead, it is the ability for artists to create rule-based systems to generate their vision. Watching how visual effects artists would build mind-blowing systems out of the building blocks in Houdini, I realized this tool had begun to bridge the gap between those worlds. I’ve since focused on trying to enable that creativity as much as possible. It is a tightrope walk between dumbed-down wizard-based workflows on one side, and a dauntingly complex programming interface on the other. But while we often fail, our users are both understanding and helpful in trying to restore the balance.
What do you work on currently?
I’ve recently been focused on cloth simulation. Our GPU-based cloth solver has been out for several releases now, but our work isn’t complete. In the usual Houdini fashion, the cloth solver can be, and has been, used for many roles outside of character effects. This has led to an over-generalization of the workflow at the expense of simple cloth tasks. We’re trying to focus on making the easy stuff easier; while, of course, not losing any of the generality.
What do you like about open source software? What do you dislike?
I’ve been through enough flamewars to be wary of commenting… the first problem is defining what is meant by open source.
I like the principle of releasing source code, as it is the best defense against bitrot. With access to the source, we can keep libraries and games compiling for decades after their hardware is dust. I like the principle of allowing derivative works. This allows porting and bug fixing. But it also allows projects to continue when their original maintainers disappear.
I’m a bit puzzled by the systematic objection to attribution. It is interesting that the Creative Commons licenses removed the possibility of not requiring attribution, but the open source community soundly rejected the original BSD clauses. Similarly, the rejection of moral rights I find suspect. While I personally would not hold any moral rights over a utilitarian image library, when it comes to something like a video game, it is very much a creative expression of the author. It does not seem unreasonable to request no-derivatives of such personal expressions. I think this arises from a bright line that is often drawn between the “code” and the “art” of a video game. Nethack is probably a good example of a game where that line would be rather tortuous to draw.
Which open source projects are you involved in?
My main contribution is to the OpenVDB project. SideFX adopted the VDB format before it was open, and we’ve been very happy to continue to support and contribute back to the project. Personally, I’ve also been joining the seven day roguelike challenge every year. As a result I have sixteen roguelikes released under the BSD license.
What is your involvement within the Academy Software Foundation?
When OpenVDB was selected to go through the process of becoming the first ASWF-hosted project, I was tapped to be a member of the Technical Steering Committee (TSC). A daunting prospect. I have spent most of my life trying to avoid committees. The first six months did fulfill my fears of bureaucracy, as we found our meetings consisting of administration rather than development. The good news is that I think we have those processes now all in place and we are able to focus properly on the project. And, as painful as the integration was, I think it was worth it. The project has regained a sense of cohesion and direction.
What advice would you offer other developers or software engineers interested in getting started with the Foundation?
I think a critical part is forming the Technical Steering Committee. I think it is essential to form it based around people contributing to the project, not around those interested in the project. I’ve heard concern from developers that they’d lose control as ‘Company X’ wants to push them in a direction they don’t want to go. The answer is to make the TSC consist of your current developers. ‘Company X’ may still attend the meetings, and even volunteer effort to push in their direction. But, there should be no concern that being part of the ASWF will reduce one’s autonomy.
If you could pick one open source project to join the Foundation, which would it be?
That’s easy. USD. It might still be a bit early, but I would feel a lot happier if this standard were under the ASWF umbrella.
In Behind the Screens, we talk to developers and software engineers from across the motion picture and media industries to learn more about their work in visual effects and animation, how they use open source software, and their involvement in the Academy Software Foundation. If you are currently involved in the Academy Software Foundation or an open source project for motion pictures and would like to be featured in “Behind the Screens,” please email us.