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