Sponsored By

A layer-by-layer breakdown of League of Legends' rendering process

Riot Games' engineering blog is frequently a goldmine for interesting technical breakdowns of League of Legends systems, and a recent post explaining the game's rendering process is no exception.

Alissa McAloon, Publisher

January 18, 2017

2 Min Read
Game Developer logo in a gray background | Game Developer

The Riot Games Engineering Blog is frequently a goldmine for interesting breakdowns of the systems that power League of Legends, and a recent post from engineer Tony Albrecht explaining exactly how the game renders a single frame of in-game action is no exception.

This latest blog post is written to be accessible to developers and players that may not have intimate knowledge of the rendering process, but no matter your familiarity with rendering the post still contains an interesting look at how League of Legends renders scenes that simultaneously run smoothly across computers of varying power.

The current system combines 13 stages of information to create a single frame of an in-game scene. Altogether, a completed scene typically uses 200,000 triangles and renders 28 million pixels across 695 draw calls.

Starting first with the fog of war, the engine then renders shadows, static geometry, skinned meshes, outlines, grass, water, decals, special outlines, particles, post process effects, damage and health bars, and the HUD. For a game running at 60 FPS, that means this whole process happens in less than 16.66ms. 

As part of its recent sustainability initiative, a group of developers dubbed the Render Strike Team will soon be making improvements on League’s rendering engine, but this breakdown of the current system by Albrecht is intended to both explain how League currently operates and provide a basic foundation on which future blog posts about more technical changes to its rendering systems can build upon.

“There are parts of the renderer that are left over from older versions of League, and parts that never quite reached their potential. The Render Strike Team’s job is to take all of our rendering code and refactor it so that all rendering happens through the exact same interface,” explains Albrecht. “If we do our job well then you should notice no difference at all (except maybe a little speed up here and there).”

For a full breakdown of each of those steps, take a look at the Albrecht’s blog post A Trip Down the LoL Graphics Pipeline over on the Riot Games Engineering Blog.

About the Author

Alissa McAloon

Publisher, GameDeveloper.com

As the Publisher of Game Developer, Alissa McAloon brings a decade of experience in the video game industry and media. When not working in the world of B2B game journalism, Alissa enjoys spending her time in the worlds of immersive sandbox games or dabbling in the occasional TTRPG.

Daily news, dev blogs, and stories from Game Developer straight to your inbox

You May Also Like