Course Description

Modern video games employ a variety of sophisticated algorithms to produce groundbreaking 3D rendering pushing the visual boundaries and interactive experience of rich environments. This course brings state-of-the-art and production-proven rendering techniques for fast, interactive rendering of complex and engaging virtual worlds of video games.

This year the course includes speakers from the makers of several innovative game companies, such as Rockstar, Ubisoft, EA | Frostbite, NVIDIA, Electric Square, Sony Santa Monica and Unity Technologies. The course will cover a variety of topics such as atmospheric rendering in games, multi-resolution ocean rendering, practical multi-scattering physically-based materials for games, real-time ray tracing with hybrid engine pipelines, rendering strand-based hair in real-time in production settings, art-directable wind and vegetation in games, and improvements for geometry processing with mesh shaders.

This is the course to attend if you are in the game development industry or want to learn the latest and greatest techniques in real-time rendering domain!

Syllabus

Monday, 29 July 2019 9am - 12:15pm | Room 408 AB, Los Angeles Convention Center

Monday, 29 July 2019 2pm - 5:15pm | Room 408 AB, Los Angeles Convention Center

Prerequisites

Working knowledge of modern real-time graphics APIs like DirectX or Vulkan or Metal and a solid basis in commonly used graphics algorithms. Familiarity with the concepts of programmable shading and shading languages. Familiarity with shipping gaming consoles hardware and software capabilities is a plus but not required.

Intended Audience

Technical practitioners and developers of graphics engines for visualization, games, or effects rendering who are interested in interactive rendering.

9:00 am

Natalya Tatarchuk (Unity Technologies)

Welcome and Introduction

9:10 am

Steve McAuley (Ubisoft)

A Journey Through Implementing Multiscattering BRDFs and Area Lights

10:10 am

Anis Benyoub (Unity Technologies)

Leveraging Real-time Ray Tracing To Build A Hybrid Game Engine

11:10 am

Sebastian Tafuri (EA | Frostbite)

Strand-based Hair Rendering in Frostbite

11:40 am

Yury Uralsky (NVIDIA)

Mesh Shading: Towards Greater Efficiency Of Geometry Processing

12:10 pm

Natalya Tatarchuk (Unity Technologies)

Part I Closing Q&A

2:00 pm

Natalya Tatarchuk (Unity Technologies)

Welcome (And Welcome Back!)

2:05 pm

Sean Feeley (Sony Santa Monica)

Interactive Wind and Vegetation in 'God Of War'

3:05 pm

Huw Bowles (Electric Square)

Multi-resolution Ocean Rendering in Crest Ocean System

4:05 pm

Fabian Bauer (Rockstar)

Creating the Atmospheric World of Red Dead Redemption 2: A Complete and Integrated Solution

5:05 pm

Natalya Tatarchuk (Unity Technologies)

Advances 2019 Closing Remarks

Course Organizer

Natalya Tatarchuk (@mirror2mask) is a graphics engineer and a rendering enthusiast at heart. As the VP of Graphics at Unity Technologies, she is focusing on driving the state-of-the-art rendering technology and graphics performance for the Unity engine. Previously she was the Graphics Lead and an Engineering Architect at Bungie, working on innovative cross-platform rendering engine and game graphics for Bungie’s Destiny franchise, including leading graphics on the upcoming Destiny 2 title. Natalya also contributed graphics engineering to the Halo series, such as Halo: ODST and Halo: Reach. Before moving into game development full-time, Natalya was a graphics software architect and a lead in the Game Computing Application Group at AMD Graphics Products Group (Office of the CTO) where she pushed parallel computing boundaries investigating advanced real-time graphics techniques. Natalya has been encouraging sharing in the games graphics community for several decades, largely by organizing a popular series of courses such as Advances in Real-time Rendering and the Open Problems in Real-Time Rendering at SIGGRAPH. She has also published papers and articles at various computer graphics conferences and technical book series, and has presented her work at graphics and game developer conferences worldwide. Natalya is a member of multiple industry and hardware advisory boards. She holds an M.S. in Computer Science from Harvard University with a focus in Computer Graphics and B.A. degrees in Mathematics and Computer Science from Boston University.

Multiscattering BRDFs and Area Lights A Journey Through ImplementingBRDFs and Area Lights

Abstract: Two recent advances in real-time rendering have been multi-scattering BRDFs for both diffuse and specular lighting, as well as area lighting. These promise to give enhanced realism to our games and solve artistic problems that we’ve been facing. However, implementing research into a game production is never straightforward or easy. This talk will walk through the initial implementations and the challenges faced, particularly with combining both the area light and multi-scattering BRDF research together. Some solutions will be presented, alongside some remaining open problems.

Bio: Stephen McAuley is a 3D Technical Lead at Ubisoft Montreal on the Far Cry brand, where he has spearheaded the vision for the graphics engine. He started in video games in 2006 at Bizarre Creations, shipping games such as Blur and Blood Stone. Moving to Ubisoft in 2011, he started working on Far Cry 3 and has focused on pioneering physically-based lighting and shading, a more data-driven rendering architecture and overall improvements in visual quality. He is also passionate about sharing his knowledge with the industry as a whole, running internal training and conferences, speaking at SIGGRAPH and GDC, and organising the Physically-Based Shading course at SIGGRAPH on six occasions.

Materials (Updated August 1, 2019): Slides (PPTX,42 MB)

Leveraging Real-Time Ray Tracing to build a Hybrid Game Engine

Abstract: Recent advances in hardware and real-time ray tracing capable-APIs have made way for new graphics features which enable drastic improvements to the final frame’s quality. This talk will focus on what to consider when integrating real-time ray tracing functionality (with existing graphics APIs) into a production game engine. The session will also delve into implementation details for real-time ray tracing features and provide lessons learned during development. The author will then overview several algorithms which take advantage of real-time ray tracing in a modern rendering pipeline, such as reflections and stochastic area light shadows. The talk will finish by providing insight into important optimizations necessary to achieve fast performance on commodity consumer hardware in a production engine.

Bio: Anis Benyoub is a graphics programmer at Unity Technologies in the High Definition Render Pipeline team. He is currently working on extending rendering pipelines for games and real-time applications to support real-time ray tracing. Anis is passionate about Monte Carlo integration, physically-based rendering, and real-time performance (and loves to share his knowledge with the community). Before Unity, he worked at Pretty Simple Games as a graphics engineer, at Autodesk as a 3D R&D engineer on 3DStudio Max, and then as a core software engineer on the Stingray game engine. He holds an M. Sc. in Computer Science from Ecole Polytechnique de Montréal with a focus in Computer Graphics and M.Eng degrees in Computer Science from INSA Lyon.

Materials (Updated August 7, 2019): Slides (PDF,10 MB)

Frostbite Strand-based Hair Rendering in

Abstract: In this talk we'll present the results of our research on real-time hair rendering. We will cover the combination of rendering techniques we're using to get closer to movie-like quality. We will also present details on the hair shading model we are using and how we have modified it to better match reference renders in our tests.

Bio: Sebastian Tafuri ​is senior rendering engineer at Frostbite focusing on image quality and raytracing. Previously he has worked at Avalanche studios and at Fraunhofer-Chalmers Centre developing industrial simulation/visualization tools.

Materials (Updated September 25, 2019): Slides (PPTX,150 MB), Slides (PDF,1.5 MB)

Mesh Shading: Towards Greater Efficiency of Geometry Processing

Abstract: Mesh shading is our biggest graphics pipeline innovation in at least a decade. We have replaced the geometry pipeline, combining the efficiency of graphics scheduling with the flexibility of compute cooperative execution to give applications powerful, improved geometry processing. With this processing model, developers program to thread groups, where threads work cooperatively, synchronizing and sharing data. This cooperative power and flexibility is in contrast to the programming of individual threads in fixed-role shader stages. Mesh shading also provides tessellation-like amplification, work spawning, and scheduling. In this talk, we’ll review the motivations for the improved pipeline model, and how applications can achieve greater geometry processing efficiency, unlocking fundamentally new use cases.

Bio: Yury Uralsky graduated from the Moscow State Technical University with degrees in computer science and electrical engineering before starting in the industry as a game developer. Yury has been with NVIDIA for over 15 years, where he held senior engineering and management positions and worked on several major GPU designs, including Maxwell, Pascal and Turing architectures. Yury is currently working on next-generation graphics hardware in the NVIDIA GPU architecture team. His interests include real-time rendering, computer architecture, programming models, and machine learning.

Materials (Updated July 31, 2019): Slides (PPTX,13 MB)

Interactive Wind and Vegetation in 'God of War'

Abstract: The newest 'God of War' has a robust, interactive wind and vegetation system to support the player's feeling of controlling a powerful character. In this session, Sony Santa Monica Studio will share how they developed its features: dynamic and spatially-varying 3D wind simulation, interactive boneless tree and leaf sway, ground vegetation character interaction with secondary motion, and card clusters (billboard clouds) for LODs and shadows proxies.

To support this tech, this lecture will cover various developments such as fast, accurate, texture flood-filling using mip chains (for uv seams and matting issues), procedural and sparse 3D flow that supports spatially-varying flow rates, and fractal noise that doesn't shift when scaled.

Senior Staff Technical Artist Sean Feeley will take a deep dive into the process of creating these systems, and how they operate under the hood. He will examine and share the team's wind content authoring workflow, which was designed to minimize cross-departmental impact. Lastly, he will review failed features and approaches, and describe potential next steps for future iterations.

Bio: Sean Feeley is a Senior Staff Technical Artist at Sony Santa Monica Studio on the team best known for the God of War series, where he focuses on advancing rendering technology and environment art workflows. Prior to joining Sony and transitioning to real-time rendering, he was a technical artist at Pixar across many disciplines – tools UI and workflow, stereoscopic R&D, vista pipeline, shading, and digital restoration. Personal work includes building music visualizers, soapbox racers, emulators, and webtoys.

Materials (Updated August 7, 2019): Slides (PPTX, 349 MB)

Multi-resolution Ocean Rendering in Crest Ocean System

Abstract: Crest Ocean System is an ocean solution for Unity3D, which started as an open source R&D project in 2017. At the core of this system lies a multi-resolution data structure used to generate various data for the ocean, such as wave displacements, a foam simulation, simulated dynamic waves, horizontal flow, and more. The multi-resolution representation takes advantage of view dependent level of detail to maintain an optimal balance between apparent surface detail and effective view range. Theis an ocean solution for Unity3D, which started as an open source R&D project in 2017. At the core of this system lies a multi-resolution data structure used to generate various data for the ocean, such as wave displacements, a foam simulation, simulated dynamic waves, horizontal flow, and more. The multi-resolution representation takes advantage of view dependent level of detail to maintain an optimal balance between apparent surface detail and effective view range.

a number of non-obvious and surprising opportunities that multi-resolution rendering offers. These include efficient sampling and subdivision of Gerstner waves, efficient simulation of dynamic waves with dispersion and generated displacements, a light scattering heuristic that works over a broad range of wavelengths, and an extension to the flow technique that works well with multiple scales of features. Finally, we discuss aspects of the meshing and shading which are also impacted by our core data structure. In this presentation we will describe our solution and compare our approach to the state of the art. We will then presentnon-obvious and surprising opportunities that multi-resolution rendering offers. These include efficient sampling and subdivision of Gerstner waves, efficient simulation of dynamic waves with dispersion and generated displacements, a light scattering heuristic that works over a broad range of wavelengths, and an extension to the flow technique that works well with multiple scales of features. Finally, we discuss aspects of the meshing and shading which are also impacted by our core data structure.

Speakers: Huw Bowles

Non-speaking contributor: Tom Read-Cutting

Bio:

Huw Bowles is an R&D Lead at Electric Square, a game development studio based in Brighton, UK and part of the Keywords group. He performs applied research alongside production teams, generally focusing on advanced tools and technologies.

Tom Read-Cutting is an Engineer at Electric Square, and collaborator on Crest. His professional interests span various computer science topics including computer graphics, programming language design and computer systems.

Materials (Updated September 25, 2019): Slides (PPTX,280 MB)

Creating the Atmospheric World of Red Dead Redemption 2: A Complete and Integrated Solution

Abstract: The presentation will cover the sky rendering techniques from Rockstar's Red Dead Redemption 2 game, including cloud/fog rendering, volumetric effects and the resulting ambient lighting model that represents indirect lighting from the sky. This suite of technology collectively represents how the team created a sense of natural atmosphere in the open world of Red Dead Redemption 2. These techniques were conceived and designed to both obey the physical properties and laws of light transport but, importantly, also provide powerful means for directability, allowing the artists to carefully craft our natural environments to create a strong sense of atmosphere that always supports and enhances the game’s story, missions, and mood.

Specifically, the authors plan to describe a voxelization and raymarching solution towards scattering and transmittance used for the main viewport, reflection maps and sky irradiance probe grid. The presentation focus will be on the hierarchy of techniques that work in concert to create the sense of natural lighting. The talk will cover the methods used to make these techniques work together, including how data is shared between systems to arrive at a unified light scattering solution. Finally, the speakers will provide an overview of equations and algorithms, describe how artists setup and use their system, explain discoveries they made and problems encountered while developing this system, as well as cover some of the optimizations required to make the described system run smoothly on the constrained hardware available in current generation consoles

Bios: Fabian Bauer is a Senior Graphics Programmer at Rockstar North, working on real-time rendering features for latest Rockstar titles, including volumetric and ambient lighting. Previously he has worked at Crytek and Dambuster Studios as part of the Rendering R&D Team.

Materials (Updated July 30, 2019): Slides (PPTX, 232 MB)