Note: The following answers have not been edited beyond a spell check, to preserve the integrity of Mads’ responses.
My name is Mads Hagbarth Damsbo. I am a compositor, vfx technical director, pipeline technical director, occasionally supervisor at Nordisk Film – Shortcut (Copenhagen, Denmark). Now also a sparetime iOS app developer and with the release of the PointRender a Nuke developer as well. All along with my daily life as a husband and father of 2 wonderful boys.
Tell us about the first person or studio who paid you to do VFX. How did the opportunity come about?
At the last year of my bachelor’s degree in visual communication and interaction design, I was in an internship at a small post house called Postyr. I managed to secure a staff position there, once I finished the bachelor. The reason why I got in, was without a doubt that I took a few “semesters” at FXPHD. It took me from thinking I could do compositing, to actually being able to do it.
We sadly didn’t have any direct “compositing” education in Denmark, so this was the best alternative. I really miss Mike Seymour going full geek on random subjects in the Background Fundamentals, and I hope someone with that level of technical depth and knowledge will bring this back in the future.
Was there a specific point in your life where you decided you wanted to learn to code?
I used to play a lot of PC games and was often using games as a creative medium to create cool artwork and movies. There is this movie genre called “Machinima”, Machinima is where people use games or game engines to make movies. So the game environments become your film sets and your character, co-players or NPC’s of the world become your actors. You get everything from characters, animations to environments and such for free.
The problem is that in many games the camera is anchored to your player character, so you are quite limited in terms of camera angles and moves. And in some games like World of Warcraft, the time of day is literally the current time. So if you want to shoot a scene at dawn, you have to wake up early. So I made this creative tool that would let you control the in-game camera, make animated camera moves, set time of day, change the weather, change lighting and such.
Also, games like World of Warcraft back then didn’t have depth of field. But I found that disabling all the textures and lights, and applying a white fog everywhere would act as a depth map. So I made a tool that would let me do multi pass rendering from the game and import it into Nuke or After Effects to apply depth of field there. It’s surprising how this “game thing” turned out to be quite invaluable for me, even to this day many of the concepts I discovered back then, is what I use daily in my work today.
But professionally it really started once I entered my first vfx job. There were only a handful of compositors at the studio, and we were all given this spreadsheet with shot names, reel ids and timecodes. It was then the compositor’s job to find the right camera files, locate the timecode, setup the nuke comp, create folders and project files, set resolutions and colorspaces.
You can imagine how this not only introduces a lot of human errors (with wrong colorspaces timecodes or whatnot), but if your job is to remove a boom in a single frame of the shot, you really become tired of this time-consuming process. So I decided to learn python (again FXPHD to the rescue), and within a few days, I managed to write a tool that fully automated the whole process. It was quickly picked up by our supervisor as the main way to create shots, and that was really what kicked off my career.
I had spent the last 10 years wanting to become a creative compositor, and then when I finally landed a job, I quickly started becoming much more fascinated with the more technical aspects of vfx.
You’ve come up with some of the most inventive and genuinely useful tools for Nuke. Where do you find inspiration to create such things?
Inspiration comes from many places, I guess most of my inspiration comes from my day to day challenges as a compositor. You encounter a problem that you might not have thought of before or some repetitive task that you want to simplify. I also often check the nuke users forums and mailing lists and get inspiration from other people’s challenges. But also just general curiosity. Like, a few years ago I saw a guy demoing some new voxel rendering features in Houdini. As someone who had never done any rendering before, I was certain that it was rocket science and you needed to be a professor to make renderer. But once I wrapped my head around the problem and understood it (to a certain extent), it turned out to be somewhat simple. And then not only can I start to apply that knowledge in rendering related situations, it also let me approach problem solving in brand new ways when I encounter new problems.
How does your creativity extend beyond Compositing & Programming?
I really enjoy photography. You really get to appreciate the world around you, and notice things you would otherwise have taken for granted. It can be quite meditative to just walk around and look for that perfect composition. And it is super rewarding to come home from a trip or vacation and find a few gems among the hundreds of photos I take.
What are your favourite tools for Nuke, created by others, that you use on a daily basis?
There are a ton of great tools out there, and it’s hard to pick a favorite, but if we count tools that I use on a daily basis I would say that the PxF suite (Pixelfudger by Xavier Bourque) is one of those packages I just use all the time. Along with Tomas-Lefebvre’s TX_HueKeyer. They are quite simple but just fantastic to work with.
What is the most memorable book, article, podcast episode or TED talk you’ve consumed in the past 12 months (or recent memory), that has made an impact on your life?
I read Andrew Glassner’s DEEP LEARNING From Basics to Practice, which is a two volume book about Deep Learning, as i wanted to dive into this new exciting new world of deep learning. The first roughly 1000 pages of the book is all about statistics and segmentation, and as I usually read every page twice to fully understand it, i quickly came to the point where i just constantly had to try to keep myself motivated to not just give up on this book. But at page 1000 he started to actually put all the concepts into practice, and from there on it was just 1000 pages of pure enlightenment. At that point, it was actually hard to put the book down, because I wanted to try out every example he went through. Deep Learning is going to change a lot in this industry and i am looking forward to start diving more ‘deep’ into it.
If you could go back in time to your early years of working in VFX, what advice would you give yourself to get ahead in your career?
I think I would go back a little earlier than that, and tell myself that I should pay more attention in math class. For a technical person, you are just so much rewarded for having a great fundamental understanding of mathematics, as it will help you out in so many situations. But it is sadly a area where I am not on a level that I would love to be on
When you get stuck on a problem, what does your thought process or inner-talk sound like? What’s your process for starting to solve said problem?
Usually when I am stuck on a problem, and i cannot find a solution to it, I tend to skip that particular step or task, and move on for a bit. Then when I’m commuting, taking a walk, running or taking a shower (where my mind is more clear), I try to come up with solutions to that particular problem. The thing is, I usually get an idea on how to solve it, and that idea usually doesn’t work the way I imagined. But in the process of tackling the problem in this way, I find out why this particular idea doesn’t work, and that usually also leads to finding an actual working solution to the problem. So it is mostly about finding a way to break the ice so to speak.
BlinkScript is a relatively new addition to Nuke, and you’re one of the few people who are utilizing it at present. What possibilities do you foresee BlinkScript bringing to Nuke in the near future, and what are the best resources to help people learn how to create their first GPU-based tool in Nuke?
Blinkscript is the single most powerful node in Nuke, and it has made it so much easier to bring more advanced ideas and concepts into fruition. What is really missing is someone to make a really in-depth tutorial series or resource for blinkscript to make it more accessible. I really think The Foundry should do this, and once that is done, I think we will start to see many more new amazing gizmos and tools from people.
The first step for blinkscript would be the much talked about ‘new architecture’ for Nuke, that could hopefully bring real-time interactive feedback into blink. Let’s take an example like a lens flare tool. In order to create a cool looking lens flare that reacts the way you want it to, you really need interactive feedback, and not constantly having to click-wait-click-wait. You can get a taste of this by running blinkscript in NukeStudio where it is running real-time and you get instant feedback. I have made this lensflare tool called Spotflare that runs at 50fps in NukeStudio while only 2fps in Nuke, and that is really a dealbreaker.
Where can people find out more about you and your work?
You can follow me on Twitter @xads, that is where I post thing most often.
You can also check out some of my articles at www.hagbarth.net and my new PointRender at www.higx.net And if you have an iPhone you can check out my two apps: FullSpectrumCamera and NeonCam.