GDC Festival of Gaming is part of the Informa Festivals Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

March 9-13, 2026
Moscone CenterSan Francisco, CA

Agenda

Optimizing a Large, Time-Critical Problem: Occlusion Culling at 'Roblox'

Earl Hammon  (Principal Rendering Engineer, Roblox)
Location: Room 2006, West Hall
Date: Monday, March 9
Time: 11:50 am - 12:20 pm
Pass Type: Festival Pass, Game Changer Pass - Get your pass now!
Audience Level: Intermediate
Track: Visual Development, Game & Production Technology
Format: Lecture
Vault Recording: Video
Audience Level: Intermediate

How do you occlusion cull fully dynamic, user-generated content? We don't know what parts of the scene are static, since we free creators to change anything at any time. We want to empower amateur authors to bring their visions to life, not to burden them with constructing occlusion geometry that they must redo whenever they make other changes to their scenes. We present how we solved this problem at Roblox, for fully dynamic occlusion culling with no manual authoring. We also discuss spatiotemporal antialiasing in software rasterization, limiting software rasterization to where it helps, and avoiding multithreaded stalls. We show how our feedback loops automatically adjust to unknown scenes and hardware.

Takeaway

You will see an example of how thinking differently about a problem can give you a better solution. You will also see a way to add spatiotemporal antialiasing to software rasterization at very little cost, methods to spend rasterization time only where it helps, and examples of modifying multithreaded code to avoid stalls.

Intended Audience

This talk is for programmers needing to write time critical code to solve large problems on a wide range of hardware. The scenario will be most familiar to graphics engineers, but is easily understood by all. There is no graphics API usage; the methods and solutions shown are entirely on the CPU.