The team behind the well-established series of SIGGRAPH courses called “Advances in Real-Time Rendering in 3D Graphics and Games” has shared tons of presentations from this year’s event. These presentations feature tons of insights on the world of game development, so it’s an amazing chance to get a closer at the production process behind AAA titles.

Let’s study one of these presentations. Brandon Whitley, a graphics engineer at Bungie since 2011, gave a detailed talk on the VFX part of Destiny. The developer shared tons of insights on the particle architecture and presented some examples.

Abstract: The world of Destiny is filled with “Space Magic”, so we expect a lot from our FX. Our particles need to convey a wide variety of visual experiences, support sub-second iteration, and achieve high performance. This presentation will discuss how we tackled these problems in Destiny 2. We’ll see that particle systems in Destiny are represented by node graphs, where each node contains parameters – such as particle size and color – represented by expressions. We’ll discuss the techniques that allow these expressions to support sub-second iteration and high performance, including our expression-to-HLSL converter and our bytecode interpreter, which can execute on both the CPU and the GPU. We’ll provide an overview of the code architecture, including the relatively simple changes we made to support GPU particles. We’ll also show one of our features, the motion primitives, as a demonstration of this architecture. These are shape primitives — such as spheres, points, and planes – used to influence the motion of a particle.