DICE Rendering Architect, Johan ‘repi’ Andersson during his keynote on GDC 2011 talked about ‘DX11 Rendering in Battlefield 3’. Japanese website Game Watch Japan has posted the pictures of the lecture in which he talked about these aspects about following aspects of the game. (Read the slides extracts)
- Battlefield 3
- DX 11, Xbox 360, PS3
DirectX 11 API Only
- Requires DirectX 10, and DirectX 11.
- Requires Vista SP1 or Windows 7
- No Windows XP
- GPU Performance Win.
- GPU Performance and Quality Win.
- Ease of Development, No Legacy.
- Future Proof
Battlefield 3 is a big title will drive OS and HW adoption.
- Which is good for your game as well.
Frostbite 2 Engine
- Developed for Battlefield 3 and future DICE EA Games.
- Massive focus on creating simple to use and powerful workflows.
- Major Pushes in animation, destruction, streaming, rendering, lighting, and landscapes.
- Weaknesses with traditional deferred lighting and shading.
- Massive overdraw and ROP costs when having lots of big light sources.
- Expensive to have multiple per pixel materials in light shaders.
- MSAA lighting can be slow (Non Coherent, and extra BW)
Battlefield 3 – Tile Based Deferred Shading
- Divide screens into tiles and then determine which lights effect which tiles.
- Only apply the visible light sources to pixels.
- Custom Shaders with multiple lights.
- Reduced Bandwidth and Setup Costs.
How can we do this best in DX 11 ?
Battlefield 3 – Lighting with Compute Shader
- Tile based deferred shading using compute shader.
- Primarily for analytical light sources
- Point Lights, Cone Lights, and Line Lights.
- No Shadows
- Requires Compute Shader 5.0
Hybrid Graphics and Compute Shading Pipeline
- Graphics pipeline rasterizes gbuffers for opaque surfaces.
- Compute pipeline uses gbuffers, dulls lights, computes lighting and combines with shading.
- Graphics Pipeline renders transparent surfaces on top.
DICE has said they will post slides and presentation material on publications.dice.se after GDC.