Modern video games employ a variety of sophisticated algorithms to produce groundbreaking 3D rendering pushing the visual boundaries and interactive experience of rich environments. These algorithms execute in a variety of rendering engines, which serve diverse needs, from a wide range of frame rates (30-200 fps), on a deeply fragmented hardware ecosystem. The goal for this course is to share pragmatic presentations about the design decisions and architectures for the real-time game engines, with the emphasis on production-proven approaches.
SIGGRAPH 2021’s course includes speakers from makers of several innovative games and game engines, such as Activision, Roblox, Sony Santa Monica, and Unity Technologies.
This is the course to attend if you are in the game development industry or want to learn the details of rendering engine architecture for real-time experiences!
Prerequisites
Working knowledge of modern real-time graphics APIs like DirectX, Vulkan or Metal, and a solid basis in the basics of rendering engine architecture. Familiarity with the concepts of programmable shading and shading languages. Familiarity with shipping titles on gaming consoles and their 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.
Schedule
Thursday 12th August:
09:00-11:00 PT: Simulive
09:00 Introduction, Stephen McAuley, Angelo Pesce, Natalya Tatarchuk, Michael Vance
09:10 Unity Rendering Architecture, Sebastian Aaltonen, Timothy Cooper, Natalya Tatarchuk
10:05 Geometry Rendering Pipeline Architecture at Activision, Michal Drobot
10:55 Closing Remarks, Stephen McAuley, Angelo Pesce, Natalya Tatarchuk, Michael Vance
11:00-11:30 PT: Live Q&A, all speakers
Friday 13th August:
10:00-12:00 PT: Simulive
10:00 Introduction, Stephen McAuley, Angelo Pesce, Natalya Tatarchuk, Michael Vance
In this talk we will describe the design principles and goals for the Unity rendering engine architecture, as well as delve into the evolution of the architecture toward more flexibility and extensibility, while targeting wide platform reach with performance. We will describe the core details of the scriptable render pipeline architecture and its design principles, and how we are extending the low level rendering architecture to take advantage of improved performance through data-oriented technology stack with the hybrid renderer architecture for Unity engine.
Speakers: Sebastian Aaltonen is the lead of the Unity hybrid rendering graphics team. Formerly he worked at Ubisoft developing modern high performance GPU-driven rendering pipelines for AAA console games.
Timothy Cooper is currently the Principal Graphics Engineer in the Graphics Innovation Group at Unity, focusing on developing novel rendering scalable pipelines for next-generation Unity graphics. Previously, he was the Director of Graphics Foundation Team at Unity, where he led a number of teams working on scalable and performant rendering technologies that scales across all the platforms that Unity supports. Tim has previously worked at 2K on the Bioshock series of games where he worked on graphics, consoles, and technical programming for the company.
Natalya Tatarchuk (@mirror2mask) is a graphics engineer and a rendering enthusiast at heart, currently focusing on driving the state-of-the-art rendering technology and graphics performance for the Unity engine as a Distinguished Technical Fellow and VP, AAA and Graphics Innovation, and, prior to that, led the Graphics team at Unity. Before that she was a AAA games developer, working on innovative cross-platform rendering engine and game graphics for Bungie’s Destiny franchise, as well the Halo series, such as Halo: ODST and Halo: Reach, and AMD Graphics Products Group where she pushed parallel computing boundaries investigating advanced real-time graphics techniques, and graphics hardware design and APIs. 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 Open Problems in Real-Time Rendering at SIGGRAPH, and convincing people to speak there. It seems to be working.
Geometry Rendering Pipeline Architecture at Activision
This talk presents an engine rendering pipeline with particular focus on geometry pre-processing, merging and preparation stages for various rendering modes.
There are multiple rendering primitives used in the engine, varying in cost and visual complexity, that require different approaches for optimal rendering. Such primitives range between height field-based terrain, high density meshes, procedural meshes, procedurally placed meshes as well as simple yet heavy overdraw models mostly used to represent foliage. Our geometry processing pipeline unifies all those inputs, via merging into highly optimized intermediate formats, that are later used to prepare intermediate data for main rendering passes. Main lit rendering effectively mixes Forward+ with Visibility Buffer style rendering approaches or optimal performance. Furthermore, all methods are optimized to work with our software variable resolution shading system.
This talk covers the general architecture of our render pipeline with focus on certain novel approaches, provides comparative performance analysis dependent on specific render scenarios - ranging from closed indoor spaces, open world outdoors as well as more specific heavy triangle and alpha test overdraw scenes. Finally, current work in progress and future extensions are discussed.
Speaker: Michal Drobot is a Technology Fellow at Infinity Ward, an Activision studio, and a Studio Head at Infinity Ward Poland. Most recently he worked on the rendering architecture of Call of Duty: Modern Warfare and Call of Duty: Infinite Warfare. Before that he helped in designing and optimizing the 3D renderer in Far Cry 4 at Ubisoft Montreal. Prior to that he worked at Guerrilla Games, designing and optimizing the rendering pipeline for the PlayStation 4 launch title Killzone: Shadow Fall. Michal specializes in rendering algorithms, render architectures, hardware architectures and low-level optimizations.
Roblox (Rendering) Engine Architecture
Roblox is a social, creative platform for interactive 3d experiences. Our idea is that everyone can create worlds, share them, and play, on (almost) any device. Our problem casts familiar rendering techniques, borrowed from “traditional” video game rendering, in a quite unfamiliar setting. We’ll examine how this shapes the architecture, goals and implementation of our rendering engine. Rendering Engine Architecture at Activision
Speaker: Angelo Pesce currently leads the rendering efforts at Roblox. Previous to joining the metaverse, he was a Technical Director for Activision Central Technology where he helped the Call of Duty studios with rendering R&D. His interest in Computer Graphics started in his teens by joining the demoscene community. In the past he has worked on rendering solutions for companies such as Milestone, Electronic Arts, Capcom and Relic Entertainment. Angelo is actively involved in the Computer Graphics community, having presented at multiple venues including Siggraph, GDC and Digital Dragons, and served as a chair for I3D. He is one of the co-authors of the latest edition of the book “Real-Time Rendering”, and he helps as an editor for the Journal of Computer Graphics Tools.
Rendering Engine Architecture at Activision
A walk through of how we prepare and submit work for rendering, with special attention paid to the underlying philosophical basis for our decision-making. We examine decoupled simulation and rendering, memory orthogonality, parallelism in worker command systems, latency minimization, and hierarchy of work amortization. The attendee will not only learn the “how” of our rendering submission, but also the “why”.
Speaker: Michael Vance is the Chief Technology Officer of Activision Publishing. He received his B.Sc in Computer Science in 1999 from Pennsylvania State University’s Schreyer Honors College. His first job in the games industry was in the niche field of Linux game development as part of the start-up Loki Software. He later began working at Treyarch before its acquisition by Activision in 2001. As a technical director he has led engineering teams on Spider-Man 2, Spider-Man 3, and Spider-Man: Web of Shadows, and contributed to almost a dozen other titles as well as each of the Call of Duty series from Modern Warfare 3 to Black Ops: Cold War. He resides in Falmouth, ME, where he raises goats and chickens when not volunteering for the Falmouth Land Trust.