MS in Computer Science graduate Rafael Campos, '16 recently concluded his thesis work with Associate Professor David Breen, PhD in the Drexel Geometric Biomedical Computing Group, which conducts research at the intersection of biology, medicine, engineering and computer science. Campos previously interned at DreamWorks Animation, and was recently hired as a graphics R&D software engineer at the London-based visual effects company, Framestore. Campos recently presented his master's thesis on developing a level-set-based 3D morphing technique ("Feature-Based 3D Level Set Morphing") in collaboration with DreamWorks.
Q: What did you do before pursuing your MS in Computer Science?
A: Interestingly, despite having focused on computer graphics throughout my undergraduate degree, I worked for a little over three years in an investment bank in São Paulo, Brazil. In 2013, I applied to the Google Summer of Code grant. The Google SoC grant allowed me to work with the Blender Foundation, doing preliminary work on adding support for OpenVDB into the Blender software. This was how I was introduced to the OpenVDB library. That same year, I introduced myself to Ken Museth at the Siggraph Conference in Anaheim, CA, and talked about what I had been working on. Less than one year later, I was granted the Brazil Scientific Mobility Program (BSMP) Fulbright scholarship for my graduate degree in computer science, which allowed me to come to Drexel University and work under Associate Professor David Breen.
Q: What were some highlights of interning at Dreamworks?
A: Interning at DreamWorks was an amazing experience. Growing up, I was a big fan of the Shrek movies. Working at the studio while Kung Fu Panda 3 was being produced gave me the chance to see the entire movie pipeline unfold; how the story came together, and how the effects department created the stunning shots that we can now see in the final movie. Every other week, the entire effects department would come together in one of the many screening rooms on campus, and a handful of FX artists would showcase what they had been working on and how they achieved those results. That was such an incredible learning experience for me, and definitely the highlight of the internship. At a few key production milestones, the entire movie would be screened for the whole studio to comment on. Seeing the movie evolve like that was astounding.
As a part of the Effects R&D team, I was working with experimental software, the results of which are now part of my thesis. My work involved reading a lot of technical papers and writing code for a platform that I wasn't very familiar with. I credit a great deal to the R&D team, as well as Ken Museth, my supervisor at DWA and collaborator in our research, for all of the guidance and feedback I received. I learned a lot, and at a very rapid pace.
Q: How did you collaborate with Dreamworks on your thesis?
A: Ken and his team at DreamWorks developed and open-sourced a new, more efficient library for volumetric datasets, which many computer graphics (and visual effects) algorithms depend on. This library is called OpenVDB, and has since been adopted by many other studios. One of the tools in that library allows artists to create a seamless transformation from any 3D object into any other model using Prof. David Breen's level-set morphing algorithm. This tool is rather limited, however, since it gives the artist very little control — the entire transformation is handled by the algorithm. Under supervision of Prof. Breen, and collaborating with Ken Museth, we developed a new technique. I worked on a model of a human head that transforms into a Stormtrooper (à la Star Wars), for example. The software we developed allows the user to select, for instance, the eyes on the human head model and specify that they be transformed into the Stormtrooper's eyes. Essentially, it allows the artist to specify characteristics on the starting model, and what they should be transformed into. The artist can specify as many features as needed, and control other parameters of the transformation as well, such as timing. We believe this new tool will make morphing effects more common in upcoming movies.
Q: Congratulations on your new job at Framestore! What will your responsibilities be as a Graphics R&D Software Engineer?
A: At Framestore, I'll be one of the engineers responsible for writing and maintaining the tools the artists need to create the visual effects they envision for a shot. This will include, for the most part, developing fluid and rigid body solvers. Fluid solvers are used to simulate water and smoke effects in film, such as oceans, storms and fires. Rigid body solvers are used by artists to simulate collisions and destruction, such as a crumbling building or exploding plane. It's essentially physics-based, or physics-inspired, software development!