Wednesday, September 12, 2018

Greetings from SIGGRAPH 2018

Hey guys! Long time no see. Today I wanted to share an account of a very exciting trip that I recently went on. I was fortunate enough that my company sent me to SIGGRAPH in Vancouver. For those not in the know, that's the "Special Interest Group on Computer GRAPhics and Interactive Technology" (quite a mouthful, eh?). It's pretty much the premier 3D graphics and animation conference. In addition to meeting a bunch of really cool people and attending some amazing parties (more on that later), I also learned a lot of new techniques. I took tons of notes while I was at the conference, and I thought I'd compile some of that into a blog post. Buckle in!

Above is a list of all the different talks and panels that I attended. I found almost all of them to be very interesting and valuable, but the Production Sessions were the clear winners. From hearing Rodeo FX describe how they create destructible environments for Game of Thrones to industry super stars touting the values of Houdini in their pipeline, it was an awesome experience to be able to absorb knowledge from some of the best 3D artists in the world. I tried to ask as many questions as possible, and I was actually kind of proud of myself for how pro-active I was in starting conversations with other attendees.

Another huge highlight for me was Substance Day, an all-day event where Allegorithmic dove deep into the ins and outs of Substance Designer and Substance Painter (two fantastic texturing programs that have become a staple in my design process). Here are some of the highlights from that event.
* Subsurface Scattering
- They showed off the new subsurface scattering techniques for Substance Painter. Very useful for achieving soft clay-like materials and realistic human skin.
- 0.2 to 0.4 is a good scale for humans
- Maps can be exported to other software (like C4D) that also support SSS

* New Image Projection Tools
- 2D Gizmo for improved projection. Can change position, rotation, and scale of references
- Can edit the tiling of projection images for any resolution (not just squares)
- Drag and drop materials (while holding Ctrl key) to drop on a single UV shell

* Support for .GLTF files
- Format the provides better PBR texture quality

* Optimization Techniques to cut down on processing power and improve efficiency
- Re-Use noises wherever possible
- You can switch between CPU and GPU
- Work in greyscale for as long as possible
- Pay attention to 8 bit vs 16 bit
- For gradients, you don't need the entire length of repeating patterns. Can often get away with 256 x 2048 instead of full 2k

* DNEG & Pacific Rim
- Double Negative talked about how they used Substance in their workflow for Pacific Rim Uprising
- Had 1 year to make 11 Jaegers, 8 Kaiju, 6 destructible environments
- A single Jaeger model is comprised of 30 million polygons
- They do their rendering in Clarisse
- Still use Mari for some of the texturing process because they like that it has UDIM support

In addition to the amazing talks, there was also a massive expo hall with representatives from about 100 companies. In typical conference fashion, a number of them were giving out free drinks, snacks, and t-shirts! Of all the booths, I probably spent the most time at the Cinema 4D one (as that is the 3D software I use every day at work). They had the folks from Greyscale Gorilla there to demonstrate all of the new features in for the R20 release that just dropped a few days ago. They were really excited to talk about the new Mograph Fields functionality. It gives a lot of new falloff controls and a really advanced layering system (with blend modes!) that look to make booleans a little less sloppy. They've also re-tooled the entire material system to allow for node-based authoring. I don't know that I would replace Substance Designer with this built-in editor, but it's cool to see node-based shaders catching on across the field.

Also of note was NVIDIA's keynote address, where they unveild the new RTX graphics cards. If you follow computer hardware, you likely already know all about them at this point. But they firmly made it a point that real time ray-tracing is a really big deal. They say it's the biggest jump in graphics since CUDA in 2006, and the new cards are apparently 6x as powerful as the current gen. They're a bit too pricey for me at the moment, but I'm sure I'll end up with a 2080 at some point. Speaking of RTX, I was lucky enough to get in to the big NVIDIA party at the Hyatt hotel. They had an amazing arrangement of food (turkey carving, build-your-own tacos, and even homemade donut holes!). But best of all, the bar had a huge ice sculpture shaped like the new RTX card. When you ordered a Moscow Mule from the bartender, he would pour it through a little tube in the ice block and the drink would dispence from a spicket near the bottom. It was pretty amazing.

I had mentioned it earlier, but the highlight of the show for me was really the VFX Production Sessions. I got to listen to Rodeo FX go through their process of using Voroni fracture and model swapping to create believable destructible assets. They also touched on their use of practical effects, which includes setting people on fire! The folks at Pixar shared some insightful rigging techniques that were used on Coco and Incredibles 2. One of my favorites was their advice for hand rigging - splay the control fingers outward and use a deformer to thicken the fingers when balling into a fist. I've often struggled with getting good looking fists, so it was cool to hear some good workarounds. Weta talked about their hair and muscle systems that they used on Rampage. I was a bit skeptical on that movie, but after hearing the crazy design process that went into developing those furry creatures, I kind of want to watch it. ILM held a session about Ready Player One (which was one of my favorite movies of the year despite what people said about it!). I found it interesting that Steven Spielberg actually did all of his camera directing on the film through an HTC Vive. They also rendered much of the world of OASIS in Unity. Crazy how much film has changed over the years! It was also really interesting to see the fluid dynamics in their breakdown of The Shining scene.

And speaking of fluid systems, the Houdini panel offered some amazing insight from head of ILM Rob Bredow. I was absolutely enthralled by the stories that he told of the early days of computer graphics. One story that really stood out for me was when he talked about his team's development of ocean wave shaders. His team and some of their colleagues from a rival VFX studio were both working on ocean-heavy films at the same time, so they had a bit of a friendly competition to who could create the better looking water physics. His team pulled ahead and stunned their rivals by creating something that looked amazing in a very short time... only to realize that it looked like absolute garbage when you moved the camera. His friends at the other studio asked him "well, did you read Tessendorf's Papers?" His response was "no, we didn't have time for that. We just winged it." Well it turns out a guy named Jerry Tessendorf wrote a bunch of great documentation on simulating ocean water back in the 90s. After diving into that research, the rival studio produced a much better ocean effect because it followed all of the correct math algorithms. So the lesson of Rob's story is that you should always do the proper research to actually understand the techniques that you're using. Having a solid grasp on the documentation is more important than quickly making something that looks cool. I found that to be very profound advice and it really inspires me to continue to thirst for more knowledge.

Wrapping up the Production Sessions, here are a few more quick facts that I found interesting:
- Incredibles 1 (2004) used 1500 CPU cores in its render farm. Incredibles 2 (2018) used 80,000 cores.
- Pixar listed caustics and crowd generation as the two biggest rendering advancements that helped to improve the look of Incredibles 2
- The entirey of the project files for Avengers: Infinity War total over 1.4 Petabyes of data. That's 1400 Terabytes!
- While mocapping for Thanos in Infinity War, Josh Brolin wore a giant cardboard cutout of Thanos above his head so his co-actors would know where to look when they wanted to make eye contact with the large character

One last thing I wanted to touch on were two hot topics that I heard mentioned very frequently throughout the conference: UDIM and USD. I had never heard of either of these so I did some research on them. U-DIM stands for U-Dimension Mapping and is a slight variation on typical UV mapping. Rather than containing all of your UVs in a single space on the grid, UDIM allows you to put each shell in its own square of the grid and assign them their own unique texture. In a way, I had inadvertantly been doing something like this for a while now. But the reason it comes up in discussion a lot nowadays is because some texturing packages now give you the ability to paint on your models seamlessly across multiple UDIMs. Improves texture quality and efficiency when things get their own textures like that. As for USD, we're not talking about US Dollars. USD is an abbreviation for Universal Scene Description, which is a new file format developed by Pixar. It is a universal way to store models, scenes, and animations non-destructively and transmit them between different applications. It is an open source format that allows multiple artists to work on the same files without erasing another artist's work (and provides an audit trail to see who did what). From the folks that I talked to, this is a really big deal in film because they are often working on massive set-pieces and need tons of people to work on them at once.

And that about sums up time at SIGGRAPH. In addition to all of the great sessions at the conference, I also went to some fun receptions. I met a wide spectrum of creative people - from programmers at Bungie and 343 Industries to industrial designers from my hometown of Cleveland; from young game design students to professionals working on full scale films like Deadpool. Possibly most interesting of all though were the two fellas I met from a VFX studio in Germany (shoutout to Jakob and Kai!). I had a really amazing time and I'm very grateful to my company for giving me the opportunity to attend such a valuable event. ...even if I did fall off a bike and dislocate my toe on the last day. I hope you enjoyed reading about all the cool stuff I saw at SIGGRAPH. If you're interested in hearing more about the "touristy" part of my Vancouver trip and want to see some of the non-SIGGRAPH photos, head on over to my new travel blog. Thanks again for reading. Until next time... Adios!