SIGGRAPH 2010 Reducing Shading on GPUs Using Quad-Fragment Merging Kayvon Fatahalian Solomon Boulos...

23
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

Transcript of SIGGRAPH 2010 Reducing Shading on GPUs Using Quad-Fragment Merging Kayvon Fatahalian Solomon Boulos...

Page 1: SIGGRAPH 2010 Reducing Shading on GPUs Using Quad-Fragment Merging Kayvon Fatahalian Solomon Boulos James Hegarty Kurt Akeley William R. Mark Henry Moreton.

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

Page 2: SIGGRAPH 2010 Reducing Shading on GPUs Using Quad-Fragment Merging Kayvon Fatahalian Solomon Boulos James Hegarty Kurt Akeley William R. Mark Henry Moreton.

2

Outline

● Motivation

● System

● Results

● Conclusion

Page 3: SIGGRAPH 2010 Reducing Shading on GPUs Using Quad-Fragment Merging Kayvon Fatahalian Solomon Boulos James Hegarty Kurt Akeley William R. Mark Henry Moreton.

3

Highly Detailed Surfaces

Page 4: SIGGRAPH 2010 Reducing Shading on GPUs Using Quad-Fragment Merging Kayvon Fatahalian Solomon Boulos James Hegarty Kurt Akeley William R. Mark Henry Moreton.

4

GPU Rendering Pipeline

● Quad-fragments● Fragments in 2 x 2 pixel blocks● Quad pipeline in current GPUs

● Generate quad-fragment per triangle

Page 5: SIGGRAPH 2010 Reducing Shading on GPUs Using Quad-Fragment Merging Kayvon Fatahalian Solomon Boulos James Hegarty Kurt Akeley William R. Mark Henry Moreton.

5

Quad-fragment Shading

Page 6: SIGGRAPH 2010 Reducing Shading on GPUs Using Quad-Fragment Merging Kayvon Fatahalian Solomon Boulos James Hegarty Kurt Akeley William R. Mark Henry Moreton.

6

Quad-fragment Shading

How many shadings occur per pixel?

Page 7: SIGGRAPH 2010 Reducing Shading on GPUs Using Quad-Fragment Merging Kayvon Fatahalian Solomon Boulos James Hegarty Kurt Akeley William R. Mark Henry Moreton.

7

Pixels at triangle boundaries are shaded multiple times

Over Shade

Page 8: SIGGRAPH 2010 Reducing Shading on GPUs Using Quad-Fragment Merging Kayvon Fatahalian Solomon Boulos James Hegarty Kurt Akeley William R. Mark Henry Moreton.

8

Pixels at triangle boundaries are shaded multiple times

Page 9: SIGGRAPH 2010 Reducing Shading on GPUs Using Quad-Fragment Merging Kayvon Fatahalian Solomon Boulos James Hegarty Kurt Akeley William R. Mark Henry Moreton.

9

Over-shade in GPU pipeline

Page 10: SIGGRAPH 2010 Reducing Shading on GPUs Using Quad-Fragment Merging Kayvon Fatahalian Solomon Boulos James Hegarty Kurt Akeley William R. Mark Henry Moreton.

10

Main Idea

● Goal● Shade once per pixel

● Solution● Merge quad-fragments

Page 11: SIGGRAPH 2010 Reducing Shading on GPUs Using Quad-Fragment Merging Kayvon Fatahalian Solomon Boulos James Hegarty Kurt Akeley William R. Mark Henry Moreton.

11

Quad-fragment Merging Pipeline

Reduce # of quad-fragments

Page 12: SIGGRAPH 2010 Reducing Shading on GPUs Using Quad-Fragment Merging Kayvon Fatahalian Solomon Boulos James Hegarty Kurt Akeley William R. Mark Henry Moreton.

12

Merging Process

Page 13: SIGGRAPH 2010 Reducing Shading on GPUs Using Quad-Fragment Merging Kayvon Fatahalian Solomon Boulos James Hegarty Kurt Akeley William R. Mark Henry Moreton.

13

Anti-aliasing Effect

Triangle Mesh Final Pixels

Anti-aliasing

Page 14: SIGGRAPH 2010 Reducing Shading on GPUs Using Quad-Fragment Merging Kayvon Fatahalian Solomon Boulos James Hegarty Kurt Akeley William R. Mark Henry Moreton.

14

Aliasing Effect on Naive Merging

Triangle Mesh Final Pixels

Aliasing

Page 15: SIGGRAPH 2010 Reducing Shading on GPUs Using Quad-Fragment Merging Kayvon Fatahalian Solomon Boulos James Hegarty Kurt Akeley William R. Mark Henry Moreton.

15

Conditions for Merging

● Triangles should be connected via edges

● Triangles have the same sideness● Either front or back-facing

Page 16: SIGGRAPH 2010 Reducing Shading on GPUs Using Quad-Fragment Merging Kayvon Fatahalian Solomon Boulos James Hegarty Kurt Akeley William R. Mark Henry Moreton.

16

Conditions for Merging

Page 17: SIGGRAPH 2010 Reducing Shading on GPUs Using Quad-Fragment Merging Kayvon Fatahalian Solomon Boulos James Hegarty Kurt Akeley William R. Mark Henry Moreton.

17

Visual Quality

Merging No merging

Page 18: SIGGRAPH 2010 Reducing Shading on GPUs Using Quad-Fragment Merging Kayvon Fatahalian Solomon Boulos James Hegarty Kurt Akeley William R. Mark Henry Moreton.

18

Shading Computations

Merging No merging

● 1/2 pixel size triangles● Merging : 8.5x less shading

Page 19: SIGGRAPH 2010 Reducing Shading on GPUs Using Quad-Fragment Merging Kayvon Fatahalian Solomon Boulos James Hegarty Kurt Akeley William R. Mark Henry Moreton.

19

Merging vs No merging

Page 20: SIGGRAPH 2010 Reducing Shading on GPUs Using Quad-Fragment Merging Kayvon Fatahalian Solomon Boulos James Hegarty Kurt Akeley William R. Mark Henry Moreton.

20

Result Scene

Page 21: SIGGRAPH 2010 Reducing Shading on GPUs Using Quad-Fragment Merging Kayvon Fatahalian Solomon Boulos James Hegarty Kurt Akeley William R. Mark Henry Moreton.

21

Merging vs No merging

Page 22: SIGGRAPH 2010 Reducing Shading on GPUs Using Quad-Fragment Merging Kayvon Fatahalian Solomon Boulos James Hegarty Kurt Akeley William R. Mark Henry Moreton.

22

Conclusions

● Contribution● Faster than No merge GPU rendering● No radical changes to current pipeline

● Limitation● Motion/focal blur

Page 23: SIGGRAPH 2010 Reducing Shading on GPUs Using Quad-Fragment Merging Kayvon Fatahalian Solomon Boulos James Hegarty Kurt Akeley William R. Mark Henry Moreton.

23

Q & A

Thank You