Slideshare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our User Agreement and Privacy Policy.

Slideshare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our Privacy Policy and User Agreement for details.

SPU-Based Deferred Shading in BATTLEFIELD 3 for Playstation 3

This session presents a detailed programmer oriented overview of our SPU based shading system implemented in DICE's Frostbite 2 engine and how it enables more visually rich environments in BATTLEFIELD 3 and better performance over traditional GPU-only based renderers. We explain in detail how our SPU Tile-based deferred shading system is implemented, and how it supports rich material variety, High Dynamic Range Lighting, and large amounts of light sources of different types through an extensive set of culling, occlusion and optimization techniques.

46.
Algorithmic optimization #3<br />Specular Albedo Present in a subtile?<br />If all pixels in a subtile have specular albedo of zero:<br />Execute diffuse only lighting fast path for this case.<br />If your artists like to make everything shiny, you might not see much of a win here<br />

56.
Code optimization #2<br />Branch on Sky pixels in 4x4 pixel processing loops<br />Branches are expensive, but can be a performance win<br />Fully unpacking and shading 16 pixels = a lot of work to branch around<br />Also useful to branch on specific materials<br />Depends on the cost of branching relative to just doing a compute + vectorized select<br />

68.
Conclusions<br />SPUs are more than capable of performing shading work traditionally done by RSX<br />Think of SPUs as another GPU compute resource<br />SPUs can do significantly better light culling than the RSX<br />RSX+SPU combined shading creates a great opportunity to raise the bar on graphics!<br />