siggraph 2010 reducing shading on gpus using quad-fragment merging kayvon fatahalian solomon boulos...
TRANSCRIPT
SIGGRAPH 2010
Reducing Shading on GPUsUsing Quad-Fragment Merging
Kayvon Fatahalian Solomon Boulos James Hegarty
Kurt Akeley William R. Mark Henry Moreton Pat Hanrahan
JAEHYUN CHO
2
Outline
● Motivation
● System
● Results
● Conclusion
3
Highly Detailed Surfaces
4
GPU Rendering Pipeline
● Quad-fragments● Fragments in 2 x 2 pixel blocks● Quad pipeline in current GPUs
● Generate quad-fragment per triangle
5
Quad-fragment Shading
6
Quad-fragment Shading
How many shadings occur per pixel?
7
Pixels at triangle boundaries are shaded multiple times
Over Shade
8
Pixels at triangle boundaries are shaded multiple times
9
Over-shade in GPU pipeline
10
Main Idea
● Goal● Shade once per pixel
● Solution● Merge quad-fragments
11
Quad-fragment Merging Pipeline
Reduce # of quad-fragments
12
Merging Process
13
Anti-aliasing Effect
Triangle Mesh Final Pixels
Anti-aliasing
14
Aliasing Effect on Naive Merging
Triangle Mesh Final Pixels
Aliasing
15
Conditions for Merging
● Triangles should be connected via edges
● Triangles have the same sideness● Either front or back-facing
16
Conditions for Merging
17
Visual Quality
Merging No merging
18
Shading Computations
Merging No merging
● 1/2 pixel size triangles● Merging : 8.5x less shading
19
Merging vs No merging
20
Result Scene
21
Merging vs No merging
22
Conclusions
● Contribution● Faster than No merge GPU rendering● No radical changes to current pipeline
● Limitation● Motion/focal blur
23
Q & A
Thank You