The past few years have seen a sharp increase in the complexity of rendering algorithms used in modern game engines. Large portions of the rendering work are increasingly written in GPU computing languages, and decoupled from the conventional “one-to-one” pipeline stages for which shading languages were designed.
Following Tim Foley’s talk from SIGGRAPH 2016’s Open Problems course on shading language directions, SEED's Andrew Lauritzen explores example rendering algorithms that we want to express in a composable, reusable and performance-portable manner. We argue that a few key constraints in GPU computing languages inhibit these goals, some of which are rooted in hardware limitations. The presentation concludes with a call to action detailing specific improvements we would like to see in GPU compute languages, as well as the underlying graphics hardware.
This presentation was originally created for the Open Problems in Real-Time Rendering course for SIGGRAPH 2017.
Future Directions for Compute-for-Graphics from Electronic Arts / DICE.