SIGGRAPH 2010 Reducing Shading on GPUs Using QuadFragment

  • Slides: 23
Download presentation
SIGGRAPH 2010 Reducing Shading on GPUs Using Quad-Fragment Merging Kayvon Fatahalian Kurt Akeley Solomon

SIGGRAPH 2010 Reducing Shading on GPUs Using Quad-Fragment Merging Kayvon Fatahalian Kurt Akeley Solomon Boulos William R. Mark James Hegarty Henry Moreton JAEHYUN CHO Pat Hanrahan

Outline ● Motivation ● System ● Results ● Conclusion 2

Outline ● Motivation ● System ● Results ● Conclusion 2

Highly Detailed Surfaces 3

Highly Detailed Surfaces 3

GPU Rendering Pipeline ● Quad-fragments ● Fragments in 2 x 2 pixel blocks ●

GPU Rendering Pipeline ● Quad-fragments ● Fragments in 2 x 2 pixel blocks ● Quad pipeline in current GPUs ● Generate quad-fragment per triangle 4

Quad-fragment Shading 5

Quad-fragment Shading 5

Quad-fragment Shading How many shadings occur per pixel? 6

Quad-fragment Shading How many shadings occur per pixel? 6

Pixels at triangle boundaries are shaded multiple times Over Shade 7

Pixels at triangle boundaries are shaded multiple times Over Shade 7

Pixels at triangle boundaries are shaded multiple times 8

Pixels at triangle boundaries are shaded multiple times 8

Over-shade in GPU pipeline 9

Over-shade in GPU pipeline 9

Main Idea ● Goal ● Shade once per pixel ● Solution ● Merge quad-fragments

Main Idea ● Goal ● Shade once per pixel ● Solution ● Merge quad-fragments 10

Quad-fragment Merging Pipeline Reduce # of quad-fragments 11

Quad-fragment Merging Pipeline Reduce # of quad-fragments 11

Merging Process 12

Merging Process 12

Anti-aliasing Effect Triangle Mesh Final Pixels Anti-aliasing 13

Anti-aliasing Effect Triangle Mesh Final Pixels Anti-aliasing 13

Aliasing Effect on Naive Merging Triangle Mesh Final Pixels Aliasing 14

Aliasing Effect on Naive Merging Triangle Mesh Final Pixels Aliasing 14

Conditions for Merging ● Triangles should be connected via edges ● Triangles have the

Conditions for Merging ● Triangles should be connected via edges ● Triangles have the same sideness ● Either front or back-facing 15

Conditions for Merging 16

Conditions for Merging 16

Visual Quality Merging 17 No merging

Visual Quality Merging 17 No merging

Shading Computations Merging No merging ● 1/2 pixel size triangles ● Merging : 8.

Shading Computations Merging No merging ● 1/2 pixel size triangles ● Merging : 8. 5 x less shading 18

Merging vs No merging 19

Merging vs No merging 19

Result Scene 20

Result Scene 20

Merging vs No merging 21

Merging vs No merging 21

Conclusions ● Contribution ● Faster than No merge GPU rendering ● No radical changes

Conclusions ● Contribution ● Faster than No merge GPU rendering ● No radical changes to current pipeline ● Limitation ● Motion/focal blur 22

Q&A Thank You 23

Q&A Thank You 23