Hardware Ray Tracing as a First-class Citizen in Frostbite
, Electronic Arts
, Electronic Arts
Frostbite is a large and complex engine that is ever-evolving to meet the needs of a large number of games across many genres. The Frostbite engine utilizes a stateless renderer for rasterization. However, stateless rendering is inefficient for ray tracing, as rebuilding ray-tracing data structures every frame is not feasible for performance. We'll discuss how we integrated GPU-accelerated ray tracing as a first-class citizen, including how we deal with tens of thousands of objects, state caching, memory allocation patterns, acceleration structure updates, and multi-platform support. Finally, we'll look at an example feature, ray-traced ambient occlusion, that uses the ray-tracing infrastructure in Frostbite.