Course Description


Advances in real‐time graphics research and the increasing power of mainstream GPUs have resulted in an explosion of innovative algorithms suitable for rendering complex virtual worlds at interactive rates. Every year the latest video games display a vast variety of sophisticated algorithms resulting in ground‐breaking 3D graphics that push the visual boundaries of interactive experience.   

This course will cover several topics ranging from the best practices and techniques prevalent in current state‐of‐the‐art rendering in many award‐winning games all the way up to innovative 3D rendering research that will be found in the games of tomorrow. This will include examples from recent games from Crytek, Rare, Bungie as well as upcoming titles from Blizzard Entertainment, and graphics research from AMD’s Game Computing Applications Group.

 

Previous years’ Advances course slides: go here

 

Syllabus

 

Welcome and Introduction to Advances in Real-Time Rendering in 3D Graphics and Games
Natalya Tatarchuk (AMD)

Lighting and Material of Halo 3
Hao Chen (Bungie)

Advanced Virtual Texture Topics
Martin Mittring (Crytek)

March of the Froblins: Simulation and Rendering Massive Crowds of Intelligent and Detailed Creatures on GPU
Jeremy Shopf (AMD)
Joshua Barczak (AMD)
Christopher Oat (AMD)
Natalya Tatarchuk (AMD)

Using Wavelets with Current and Future Hardware
Michael Boulton (Rare)

Rendering Techniques From StarCraft II
Dominic Filion (Blizzard Entertainment)
Rob McNaughton (Blizzard Entertainment)

 

Prerequisites

 

This course assumes working knowledge of a modern real‐time graphics API like OpenGL or Direct3D, as well as a solid basis in commonly used graphics algorithms. The participants are also assumed to be familiar with the concepts of programmable shading and shading languages.

 

Intended Audience

 

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

Course Organizer

 

Natalya Tatarchuk is a graphics software architect and a project lead in the Game Computing Application Group at AMD Graphics Products Group (Office of the CTO). There she pushes parallel computing boundaries investigating innovative real‐time graphics techniques. In the past she has been the lead of ATI’s demo team creating the state‐of‐the‐art interactive renderings and has been the lead for the tools group at ATI Research. Prior to that Natalya worked on 3D modeling software, and scientific and financial visualization, among other projects. She has 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

 

Talks

 

Lighting and Material of Halo 3

Abstract:  

Lighting and material are very important aspects of the visual appearances of games and they present some of the hardest challenges in real time graphics today. For Halo and indeed many other games, keeping the players immersed in the virtual environment for long periods of time is a top priority of the graphics system, and good quality lighting and realistic materials are the fundamental building blocks for achieving the level of realism necessary to accomplish this goal.

 

Speaker Bio:

Hao Chen is the graphics architect and one of the engineering lead for Bungie Studio, where he currently leads the research and development of Bungie’s next generation graphics engine. He was the graphics engineering lead of Halo3. Prior to that, Hao has worked on numerous game titles for Microsoft and Bungie on the Xbox and PC platforms, including Outwars, AMPED1, AMPED2, and Halo2.


Xinguo Liu is a professor of the Computer Science School at Zhejiang University. His research interests include geometry processing, appearance modeling, real‐time rendering, and deformable objects. He received a B.Sc. in 1995 and a Ph.D. in 2001 from Zhejiang University. He was a researcher at the Internet Graphics Group of Microsoft Research Asia from 2001 to 2006, and he was a visiting researcher at CMU Graphics Lab in 2007.

 

Materials: Full Course Notes (39 MB), Chapter 1

https://doi.org/10.1145/1404435.1404437

 

Advanced Virtual Texture Topics

Abstract:  

virtual texture is a mip-mapped texture used as cache to allow a much higher resolution texture to be emulated for real-time rendering, while only partly residing in texture memory. This functionality is already accessible with the efficient pixel shader capabilities available on the recent generations of commodity GPUs. In this chapter we will be discussing technical implications on engine design due to virtual textures use, content creation issues, results, performance and image quality. We will also cover several practical examples to highlight the challenges and to offer solutions. These include texture filtering, block compression, float precision, disk streaming, UV borders, mip-map generation, LOD selection and more.

 

Speaker Bio:

Martin Mittring, Lead Graphics Programmer, Crytek GmbH. Martin is a software engineer and member of the R&D staff at Crytek. Martin started his first experiments early with text‐based computers, which led to a passion for computers and graphics in particular. He studied computer science and worked in one other German games company before he joined Crytek. During the development of Far Cry he was working on improving the PolybumpTM tools and became lead network programmer for that game. His passion for graphics brought him back to former path and so he became lead graphics programmer in R&D. Currently he is busy working on the next iteration of the engine to keep pushing future PC and next‐gen console technology.

 

Materials: Full Course Notes (39 MB), Chapter 2

https://doi.org/10.1145/1404435.1404438

 

March of the Froblins: Simulation and Rendering Massive Crowds of Intelligent and Detailed Creatures on GPU

A cartoon of mushrooms and toads in a mountain landscape

AI-generated content may be incorrect.

Abstract:  

Artificial intelligence (AI) is generally considered to be one of the key components of a computer game. Sometimes when we play a game, we may wish that the computer opponents were written better. At those times while playing against the computer, we feel that the game is unbalanced. Perhaps the computer player has been given different set of rules, or uses the same rules, but has more resources (health, weapons, etc.). The complexity of underlying AI systems, along with game design, belies the resulting feeling we have when playing any game. As CPU and GPU speed and power continues to grow, along with increasing memory amounts and bandwidth, game developers are constantly improving the graphics of their games. In the last five years the production quality of games has been increasing (along with the corresponding budgets). Recent games woo players with incredible breakthroughs in real- time 3D graphics, complexity of the worlds and characters, as well as various post-processing effects. And while there had been tremendous improvements for parallelizing rendering through the evolution of consumer GPU pipelines, artificial intelligence computations are treading behind. To date, there had been rather few attempts at parallelizing AI computations.

 

Speakers Bios:

Jeremy Shopf is a senior software engineer in the Game Computing Application Group at AMD Graphics Products Group, where he works on graphics demos and novel rendering techniques as part of the demo team. Prior to working at AMD, Jeremy was a graduate student researching perceptually driven rendering techniques as a member of the VANGOGH research lab at the University of Maryland Baltimore County.

Joshua Barczak is a graphics engineer at AMD specializing in real-time rendering, GPU-accelerated crowd simulation, and geometry processing. Around 2008, he contributed to AMD’s March of the Froblins demo—showcasing thousands of animated creatures simulated and rendered entirely on the GPU—and presented the work at the SIGGRAPH Advances in Real-Time Rendering course. His earlier research includes optimizing vertex locality with fast triangle reordering (SIGGRAPH 2007) and advancing texture and compression techniques for interactive graphics.(joshbarczak.com)

Christopher Oat, MTS, AMD. Christopher Oat is a member of AMD's Game Computing Applications Group (Office of the CTO) where he is a technical project lead working on state‐of‐the art demos.  In this role, he focuses on the development of cutting‐edge rendering techniques for the latest graphics platforms. Christopher has published his work in various books and journals and has presented his work at graphics and game developer conferences around the world.

Natalya Tatarchuk, Graphics SW Architect, AMD. Natalya is a graphics software architect and a project lead in the Game Computing Application Group at AMD Graphics Products Group (Office of the CTO). There she pushes parallel computing boundaries investigating innovative real‐time graphics techniques. In the past she has been the lead of ATI’s demo team creating the state‐of‐the‐art interactive renderings and has been the lead for the tools group at ATI Research. Prior to that Natalya worked on 3D modeling software, and scientific and financial visualization, among other projects. She has published papers and articles in various computer graphics conferences and technical book series and has presented her work at graphics and game developer conferences worldwide.

 

Materials: Full Course Notes (39 MB), Chapter 3

https://dl.acm.org/doi/10.1145/1404435.1404439

 

 

Using Wavelets with Current and Future Hardware

Abstract:  

Much of the data we wish to encode over a surface (such as lighting data) is not homogeneous in complexity and is becoming less homogeneous as we pursue higher graphical fidelity.

 

Speaker Bio:

Michael has worked at Rare/MGS for over five years and is currently a senior software engineer. He wrote the graphics engine for VIVA PINATA on the Xbox360 and has given previous presentations at both GDC and ACM SIGGRAPH. Currently, he works in the shared technology department at Rare, developing technology for current and future hardware.

 

Materials: Full Course Notes (39 MB), Chapter 4

https://doi.org/10.1145/1404435.1404440

 

Rendering Techniques from StarCraft II

Abstract:  

In this chapter we present the techniques and algorithms used for compelling storytelling in the context of the StarCraft II© real-time strategy game. We will go over some of the design goals for the technology used to empower our artists for both in- game and "story mode" settings as well as describe how the Blizzard art style influenced the design of the engine. Various aspects of our lighting pipeline will be unveiled, with a strong focus on several techniques making use of deferred buffers for depth, normals, and coloring components. We will show how these deferred buffers were used to implement a variety of effects such as deferred lighting, screen-space ambient occlusion and depth of field effects. Approaches with respect to shadows will also be discussed.

 

Speakers Bios:

Dominic Filion, Senior Software Engineer, Blizzard Entertainment Dominic is currently a senior software engineer at Blizzard Entertainment, where he has been hard at work on the upcoming Starcraft II for the past few years. He has worked for close to a decade in the games industry, acting as technical director or principal architect on three different commercial 3D engines at several game companies prior. On the rare moments where he is not obsessing about improving Starcraft II’s graphics, Dominic would enjoy feedback on the material presented here, so feel free to drop him a note!

Rob McNaughton, 3D Animator and Digital Effects artist, Blizzard Entertainment Rob McNaughton is a Southern California native bent on playing games for a living.  That works out since he has been employed at Blizzard Entertainment for over 12 years.  Rob currently is Lead Technical Artist for Blizzard’s Team 1, and has worked on the following games for them:   StarCraft II (When it is ready), World of Warcraft: The Burning Crusade (2007), World of Warcraft (2004), WarCraft III: The Frozen Throne (2003), Warcraft III: Reign of Chaos (2002), StarCraft (1998), StarCraft: Brood War (1998), Diablo (1996). Rob is primarily a 3D Animator and Digital Effects artist but has done his time at many art tasks including pencil sketching and digital painting.  Digital speed painting has become a favorite new work medium brought on with help of conceptart.org.

 

Materials: Full Course Notes (39 MB), Chapter 5

https://doi.org/10.1145/1404435.1404441

 

Direct contact:

ceruleite.bsky.social
Mastodon @mirror2mask