Deferred Rendering in Kill Zone
Deferred Rendering in Kill Zone
Michal Valient
Senior Programmer, Guerrilla
R8 G8 B8 A8
Depth 24bpp Stencil DS
R8 G8 B8 A8
Depth 24bpp Stencil DS
R8 G8 B8 A8
Depth 24bpp Stencil DS
‣ Pros:
‣ Highly packed data structure
‣ Many extra attributes
‣ Allows MSAA with hardware support
‣ Cons:
‣ Limited output precision and dynamic range
‣ Lighting accumulation in gamma space
‣ Can use different color space (LogLuv)
‣ Attribute packing and unpacking overhead
‣ Solution!
‣ Don’t rotate shadow map cascade
‣ Make bounding sphere of cascade frustum
‣ Use it to generate cascade light matrix
‣ Remove sub-pixel movements
‣ Project world origin onto shadow map
‣ Use it to round light matrix to nearest shadow pixel corner
PPU
SPU 0
SPU 1
SPU 2
SPU 3
GAME, AI
PHYSICS PPU
SPU 0
SPU 1
SPU 2
SPU 3
GAME, AI PREPARE
PHYSICS DRAW PPU
SPU 0
SPU 1
SPU 2
SPU 3
GAME, AI PREPARE
PHYSICS DRAW PPU
SPU 0
SPU 1
SPU 2
SPU 3
GAME, AI PREPARE
PHYSICS DRAW PPU
SPU 0
SPU 1
SPU 2
SPU 3
GAME, AI PREPARE
PHYSICS DRAW PPU
SPU 0
SPU 1
SPU 2
SPU 3
GAME, AI PREPARE
PHYSICS DRAW PPU
SPU 0
SPU 1
SPU 2
SPU 3
DRAW
GAME, AI PREPARE GAME, AI PREPARE
PHYSICS DRAW
DATA
PHYSICS DRAW PPU
LOCK
SPU 0
SPU 1
SPU 2
SPU 3