
86 II Rendering
Moving triangle Shading domainRasterize
Get ssID
Map
ptr = fetch(ssID)
ptr?
Store
shading
data
Store
pointer
Render
targets
Yes
No
et ssI
tr = fet
?
For each primitive
For each fragment
Normal
Diffuse
Specular
Cache lookup
Compact buffers
Figure 3.4. The outline of decoupled deferred shading in a rasterization pipeline. Prior
to rasterization, each primitive is bound and projected to a shading grid. During frag-
ment processing, the fragments are mapped to their corresponding cells on the shading
grid. Shading reuse is implemented by referencing the same data from multiple samples
in the render targets.
3.3.1 Algorithm Outline
Sampling stage. ...