Contractor/Software Engineer, Epic Games
Tell us a bit about yourself – how did you get your start in visual effects and/or animation?
After studying computer science at UC Berkeley, I worked at Silicon Graphics in the Advance Graphics Software group from 1997-1999 on an unreleased scenegraph API called OpenGL++. At the same time, I had friends working in visual effects. Their work looked so fun and inspiring that I decided to start exploring opportunities in visual effects.
What was the first film or show you ever worked on? What was your role?
I was hired by Manex Visual Effects in 1999 to work as a TD on Bless the Child, a long-forgotten Kim Basinger film. Though the movie was widely panned, the visual effects work included interesting sequences such as demonic visions of rooms full of swarming virtual rats and skies full of swarming virtual bats. I developed software, mostly Maya plugins, to assist the artists and TDs: tools for computing the paths of the rats efficiently, an octree tool to partition the scene for rendering, tools for automatically fixing broken rat rigs, and the like.
What has been your favorite film or show to work on and why?
My favorite productions were the Matrix sequels, Reloaded and Revolutions, which I worked on at ESC Entertainment. I was part of the R&D team, working on virtual humans. Again, most of my work was developing Maya plugins. I optimized the Universal Capture system used for facial capture, collaborated on a pose space deformation tool for animation, developed tools for rigging, as well as optimized and extended our hair tools. Our work on Universal Capture and generating realistic human hair were featured in SIGGRAPH talks in 2002.
This was a particularly fun production because the movies had a large R&D budget, ambitious plans and an enthusiastic team. The Matrix sequels were also filmed on site at the decommissioned Alameda naval base where ESC was located, so the opportunity to occasionally go on set was exciting.
What do you work on currently?
Currently I am contracting remotely for Epic Games, working on the Unreal Engine 4 on the Tools team which develops the Editor. I love the challenge of working on a large codebase and the opportunity to work with a large team of brilliant engineers and artists. It is an exciting time to work at Epic Games since the Unreal Engine is now being used not only to develop games, but increasingly for virtual production, VR and other real-time visualization.
What do you like about open source software? What do you dislike?
I like the knowledge–sharing aspect of open source software and the idea that anyone can contribute and collaborate. As a user of open source software, I dislike the uncertainty of whether the software will be maintained.
What is your involvement within the Academy Software Foundation? Can you sum up your experience so far?
I am on the steering committee for OpenEXR and still quite new to the project. I have been working on setting up continuous integration using Azure and static analysis using SonarCloud for our repository. It is a pleasure to work with the other formidable members of our steering committee, some of whom have been contributing to OpenEXR for years and have extensive color science expertise. I am looking forward to gradually becoming more familiar with the library and contributing in other ways.
What do you think is the biggest challenge facing open source developers/projects across the industry?
One of the biggest challenges is ongoing maintenance, development and oversight. Because open source work is generally done for free, when the project maintainers become too busy with their regular paid work, open source projects can languish. Having more contributors can be both an asset and a liability, as it becomes more challenging to maintain stability and common coding standards. Many projects establish rules for reviewing submissions but this creates a bottleneck with the maintainers.
How do you think the Academy Software Foundation can help solve that challenge?
The Academy Software Foundation has addressed a number of these issues by recognizing that visual effects and animation companies have a common interest in maintaining the open source projects important to our industry. With multiple projects falling under the ASWF, we can share knowledge, organization and best practices. For example, the current projects have shared information about licensing, CII badges, continuous integration and static analysis.
The creation of steering committees for each project alleviates the project maintainer bottleneck. The support of the member organizations, who commit a certain amount of man hours per year to ASWF projects, also plays a critical role in the ongoing maintenance and development of these projects.
What advice would you offer other developers or software engineers interested in getting started with the Foundation?
Learn git if you are not familiar with it. My favorite resources are “Pro Git” by Scott Chacon and Ben Straub or “Think Like a Git” for an accessible overview.
Choose an ASWF project of your interest, peruse the open issues and pick one to try to resolve. Even if you are unable to resolve the issue, it is a good starting place to learn more about the project. Join the project’s mailing list and follow ongoing discussions.
Keep in mind that you do not need to be a subject matter expert to contribute. All ASWF projects need general engineering support – build system, test suite, website, documentation. There are many ways to contribute and it is a great opportunity to learn and meet new people. Everyone involved in the ASWF is open to contributions and happy to share their knowledge.
Calling all developers! If you are currently involved in the Academy Software Foundation or one of our projects and would like to be featured in “Behind the Screens,” please email us.