Matthias Bjarnason, CG Supervisor at RVX, talks about their work on Everest
What is the history behind RVX?
Framestore Iceland opened in 2008, doing work on many films including Australia, Salt, Tinker Tailor Soldier Spy, and Contraband to name a few. In 2012 the studio became independent after buying out Framestore’s shares, we rebranded and named the studio RVX, which is roughly short for Reykjavik Visual Effects.
Can you tell us a bit about yourself?
My journey into the VFX world began back almost 15 years ago, doing freelance CG Generalist work for the longest time. I started at Framestore Iceland back in 2008 as an animator, that job quickly evolved into more TD/lighting/rendering work and in 2012 I took position as CG Supervisor. I've been with that same team of artists, that eventually became RVX, ever since.
How did RVX end up working on Everest?
Everest was directed by Baltasar Kormákur, an Icelandic director with whom we had done a couple of other films with in the past, including 2 Guns and Contraband. We had been bidding on the work for a while and had a solid plan for realizing the needs of the show, so much so that we were awarded lead vendor role for the project. Of the near 900 VFX shots in this film, RVX did close to 400, as well as setting up the methodology for the whole show, we prepared the base assets (including a photogrammetry model of the whole Everest region), most of the environment layout work, plus previs and postviz. The assets were then handed over to our co-operative studios Framestore, One of Us, Important Looking Pirates, Union VFX and Milk VFX.
What was the size of the CG team that worked on this project?
During our busiest days of the show, we were about 50 people in total. That includes everyone, artists and production people. Out of the 50, the CG team consisted of 15 artists.
Which modeling, animation and texturing packages did you use?
Autodesk Maya is our “go-to” suite to do the bulk of all the CG work here at RVX, from modeling, animation to lighting and rendering. For Everest we also relied heavily on Pixologic's ZBrush for the environment modeling/sculpting, The Foundry’s Mari for all the texture work and SideFX Houdini for the particle and volumetric FX work.
Why did you use Arnold for this project?
We adopted Arnold at the studio as our main renderer back in 2011 (MtoA version 0.8 if I remember correctly). For years we had been using various competing rendering tools, many of which are excellent, but with mixed results. At the time, our small studio was desperate to find a new solution that would handle all our requirements, everything from pipeline integration to pricing, but most importantly quality output and speed. Arnold was the only solution that had everything we needed, and we haven’t looked back since.
One of the greatest things about Arnold has always been its excellent handling of massive geometry assets, all without blowing up the render hardware requirements of the studio. That was very much key during this show, as we had quite massive environment assets using both large polygon counts and thousands of large textures files. The use of procedurally generated geometry was also quite extensive on this show and that fitted Arnold's Stand-in workflow/features beautifully.
Arnold’s compatibility with OpenVDB, and fantastic integration into Houdini, allowed us also to distribute the volumetric FX work between Arnold and Mantra seamlessly, which was another key factor in using Arnold. Though later during the show an update to the Arnold core received such excellent improvements to the OpenVDB volumetric rendering that we ended up skipping Mantra completely.
How big were the models in terms of polygons and texture maps?
The Khumbu icefalls environment was one of our main render assets in this show. It consisted of roughly 2500 unique 8K texture tiles for various layered effects such as ice, snow and dirt. Polygon count was near the 2 billion mark for the whole environment, nothing that would break any records out there but with Arnold’s Stand-in workflow we were able to iterate through multiple geometry and texture versions quickly and without Arnold even breaking a sweat, keeping everything below the 32GB limit of our render farm.
We also had absolutely massive photogrammetry solves for the entire Mt. Everest mountain range, all the way from Base Camp to the Summit. Generated from nearly 25000 high resolution images, taken from a couple of helicopter flights up and down the mountain range, the model covered over 100 square kilometers. Somewhere around the 1.5 Trillion polygon mark we stopped counting, as we knew those solves were always going to be heavily decimated down to something more “useable”, but they gave us the power to generate geometry (as needed) for shots that had resolution of up to 30 cm (11 inches) in some places - which in a landscape/area this size is absolutely mind-boggling. That was the base for our entire Everest environment layout, all backdrops generated and CG set extensions, using the aerial photographs as texture sources.
What were the biggest lighting and rendering challenges?
All the glacial snow and ice, for sure. I’ve been in the VFX industry for a long time, and I’ve rendered about every possible thing imaginable, but nothing comes even close to being as hard to light and render as photorealistic ice and snow. We had tons and tons of reference images and videos taken from the Everest region, and thinking that we are Iceland based, we should know a thing or two about what snow looks like. Oh boy, were we in for a surprise. As far as lighting setups go, this show was quite simple. Nearly all scenes had just a simple sunlight/daylight rig in them. It was just up to the shader setups and texturing to bring it all together.
Were there any full-CG shots?
As the films story reaches Base Camp, that’s where we begin to see CG introduced to nearly every shot in the film. RVX made close to 400 shots, thereof five shots that were 100% full-CG, with digi-doubles and all. One is the big reveal of Mt. Everest in the opening of the film, another shows the climbers reaching the summit, third is an establishing shot of the climbers above Camp 3, fourth is the descending helicopter “near-crash”, near the end of the film, and the fifth shot shows Rob coming to Beck's rescue, viewed from within the deep crevasse and up at the ladder.
The Khumbu Icefalls “crevasse crossing” sequence that RVX made, could also be considered as a full-CG sequence, I suppose; there were parts of the scene built on set at Pinewood Studios, but those never appeared realistic enough, e.g. there was no light scattering through the set pieces to mimic snow and ice well enough. Quite early on then, it became apparent that it would be near impossible to integrate or extend perfectly with CG ice and snow. So it was decided to remove the set completely from the plates and replace it with a fully-rendered 3D environment and FX. As I mentioned, we had this complete landscape in 3D so it was just a matter of selecting the most picturesque location within the Icefalls, place our sculpted environment set there and render out everything from the distant mountain backdrops to the ground the actors were supposed to be standing on.
How did you approach doing realistic shading of snow?
As I said, realistic shading of snow and ice is probably the single toughest thing I’ve had to look-dev in my career. It might seem obvious, but snow and ice varies so greatly depending on the smallest of things. Sometimes snow is dry and puffy, hard, fresh, wet, soft, dirty or clean and what almost feels like every possible combination of those at the same time. Not to mention the slightest lighting change has a massive impact on the perceived realism of the whole thing, which made all of this extremely tricky to master. One of those challenges was to get the light scattering through all the ice and snow layers to look right at this scale, the way the ice/snow absorbs all the longer wavelengths of light to appear this beautiful and rich blue. Producing this effect for smaller objects is relatively easy, but for something on a glacial scale is a whole different matter - different densities depending on depth and age of the ice, is it dry, is it wet etc..
We looked into previous work of other famous studios and films, and read a few papers on their ventures, but remarkably there wasn’t that much material on creating realistic snow/ice. Most of what we found were solutions to produce quite stylized results and those simply would not work for this particular show. So we set out to create this from the ground up, try our best to match video and image references the Director and VFX Supervisor had selected for this sequence. Hearing later from people who have climbed Mt. Everest and reached the summit, many of them multiple times, they all mentioned how exact this all looked in the film, compared to the actual thing. So, we must have done something right.
Did you have to write any custom shaders?
No, we were able to use a layered setup of Anders Langlands’ fantastic suite of alShaders and the built-in aiSkin shader for the snow/ice work. We also used Marc-Antoine Desjardin’s ObliqueFX shaders for some of the utility passes, shadows etc. The biggest challenge we faced with the snow shading was that one solution simply didn’t fit all and often something that looked quite believable in one shot, resulted in the tackiest cartoon stylized look in another. After going through dozens and dozens of different setups and looks during development, we settled on this layered shader solution that gave us the best target look/feel for the sequence. It is also worth mentioning that SSS Sets were truly crucial for all of this to come together. I suppose we could have figured out some custom shading solution, mostly to optimize ray count and simplify the layered shader setup, but the way we figured, seeing that render times were always going to be quite extensive no matter what, the benefit wouldn’t be that over-all great. Especially since the alShaders and aiSkin gave us such great control “out-of-the-box”.
Did you share Arnold assets with the other VFX vendors on the show?
No, only scene files – geometry, textures, cameras and such. Each vendor, with their unique pipeline and scene setups, there was not much Arnold related we needed to share, especially since we didn't build any custom shaders for this show.
How big was your render farm and what were your render times?
Our render farm consists of close to 600 cores. All 3D render blades are 12-core machines, housed in a Verne Global data center facility, few kilometers away from the studio. For Everest, with nearly every scene including massive geometry, large amounts of texture maps and extensive full-frame SSS setups, requiring massive ray count to minimize noise, render times were simply never going to be short. I think the “show average” was somewhere around 4 hours per frame, including all layers and passes - volumetrics, utilities, etc. With those types of render times there's hardly ever any idle CPU moment on the farm. Now, normally those kinds of render times would simply not be acceptable for us but seeing the amazing results coming out of Arnold vs. the amount of artist time spent on the setups/scene builds, it was a fair compromise. Sure, many times we were able to bring the average render times down by simplifying setups for background layers, using motion vectors instead of full motion blur and simpler shaders etc. Still, Arnold took everything we threw at it like a trooper and made this process as painless and carefree as it gets. Arnold is simply unbeatable in every way and we couldn’t be happier with the results.
What projects are you working on next?
We are working on a ten-episode TV series called Trapped, a handful of commercials, and we are also dipping our toes into the crazy world of VR. The feedback we’ve received after Everest has been incredible, and that is starting to filter back in terms of potential work so we are also bidding on some big upcoming film projects - interesting times ahead.