ABSTRACT

This can be done using dynamic shader branches, but that can lead to poor performance on current game console hardware. Swoboda [2009] describes a technique that uses the PlayStation 3 SPUs to analyze the depth buffer and classify screen areas for improved performance in post-processing effects, such as depth of field. Moore and Jefferies [2009] describe a technique that uses low-resolution screen-space shadow masks to classify screen areas as in shadow, not in shadow, or on the shadow edge for improved soft shadow rendering performance. They also describe a fast multisample antialiasing (MSAA) edge detection technique that improves deferred lighting performance. These works provided the background and inspiration for this chapter, which extends things further by classifying screen areas according to the global light properties they require, thus minimizing shader complexity for each area. This work has been successfully implemented with good results in Split/Second, a racing game developed by Disney’s Black Rock Studio. It is this implementation that we cover in this chapter because it gives a practical real-world example of how this technique can be applied.