Clipless Dual-Space Bounds for Faster Stochastic Rasterization Samuli Laine Timo Aila Tero Karras...

55
Clipless Dual-Space Bounds for Faster Stochastic Rasterization Samuli Laine Timo Aila Tero Karras Jaakko Lehtinen NVIDIA Research

Transcript of Clipless Dual-Space Bounds for Faster Stochastic Rasterization Samuli Laine Timo Aila Tero Karras...

Page 1: Clipless Dual-Space Bounds for Faster Stochastic Rasterization Samuli Laine Timo Aila Tero Karras Jaakko Lehtinen NVIDIA Research.

Clipless Dual-Space Bounds for Faster Stochastic Rasterization

Samuli Laine Timo Aila Tero Karras Jaakko Lehtinen

NVIDIA Research

Page 2: Clipless Dual-Space Bounds for Faster Stochastic Rasterization Samuli Laine Timo Aila Tero Karras Jaakko Lehtinen NVIDIA Research.
Page 3: Clipless Dual-Space Bounds for Faster Stochastic Rasterization Samuli Laine Timo Aila Tero Karras Jaakko Lehtinen NVIDIA Research.
Page 4: Clipless Dual-Space Bounds for Faster Stochastic Rasterization Samuli Laine Timo Aila Tero Karras Jaakko Lehtinen NVIDIA Research.
Page 5: Clipless Dual-Space Bounds for Faster Stochastic Rasterization Samuli Laine Timo Aila Tero Karras Jaakko Lehtinen NVIDIA Research.

(x,y)

Page 6: Clipless Dual-Space Bounds for Faster Stochastic Rasterization Samuli Laine Timo Aila Tero Karras Jaakko Lehtinen NVIDIA Research.

(x,y,u,v,t)

Page 7: Clipless Dual-Space Bounds for Faster Stochastic Rasterization Samuli Laine Timo Aila Tero Karras Jaakko Lehtinen NVIDIA Research.

Motion Blur

Page 8: Clipless Dual-Space Bounds for Faster Stochastic Rasterization Samuli Laine Timo Aila Tero Karras Jaakko Lehtinen NVIDIA Research.

Motion Blur

t=0 t=1

Page 9: Clipless Dual-Space Bounds for Faster Stochastic Rasterization Samuli Laine Timo Aila Tero Karras Jaakko Lehtinen NVIDIA Research.

Motion Blur

Page 10: Clipless Dual-Space Bounds for Faster Stochastic Rasterization Samuli Laine Timo Aila Tero Karras Jaakko Lehtinen NVIDIA Research.

t

Accumulation Buffer [Haeberli ‘90]

Page 11: Clipless Dual-Space Bounds for Faster Stochastic Rasterization Samuli Laine Timo Aila Tero Karras Jaakko Lehtinen NVIDIA Research.

t

InterleaveUVT [Fatahalian ‘09]

Page 12: Clipless Dual-Space Bounds for Faster Stochastic Rasterization Samuli Laine Timo Aila Tero Karras Jaakko Lehtinen NVIDIA Research.

t

InterleaveUVT [Fatahalian ‘09]

Page 13: Clipless Dual-Space Bounds for Faster Stochastic Rasterization Samuli Laine Timo Aila Tero Karras Jaakko Lehtinen NVIDIA Research.

t

InterleaveUVT [Fatahalian ‘09]

Page 14: Clipless Dual-Space Bounds for Faster Stochastic Rasterization Samuli Laine Timo Aila Tero Karras Jaakko Lehtinen NVIDIA Research.

t

InterleaveUVT [Fatahalian ‘09]

Page 15: Clipless Dual-Space Bounds for Faster Stochastic Rasterization Samuli Laine Timo Aila Tero Karras Jaakko Lehtinen NVIDIA Research.

4 samples/pixel (16 UVT triples) 16 samples/pixel (64 UVT triples)

Scene: Assassin’s Creed, courtesy of Ubisoft

InterleaveUVT [Fatahalian ‘09]

Page 16: Clipless Dual-Space Bounds for Faster Stochastic Rasterization Samuli Laine Timo Aila Tero Karras Jaakko Lehtinen NVIDIA Research.

Unique UVTs

4 samples/pixel, unique UVTs 16 samples/pixel, unique UVTs

Scene: Assassin’s Creed, courtesy of Ubisoft

Page 17: Clipless Dual-Space Bounds for Faster Stochastic Rasterization Samuli Laine Timo Aila Tero Karras Jaakko Lehtinen NVIDIA Research.

5D Rasterization

t=0 t=1

t

Page 18: Clipless Dual-Space Bounds for Faster Stochastic Rasterization Samuli Laine Timo Aila Tero Karras Jaakko Lehtinen NVIDIA Research.

5D Rasterization

t=0 t=1

t

Page 19: Clipless Dual-Space Bounds for Faster Stochastic Rasterization Samuli Laine Timo Aila Tero Karras Jaakko Lehtinen NVIDIA Research.

5D Rasterization

t=0 t=1

t

Page 20: Clipless Dual-Space Bounds for Faster Stochastic Rasterization Samuli Laine Timo Aila Tero Karras Jaakko Lehtinen NVIDIA Research.

5D Rasterization

t

Page 21: Clipless Dual-Space Bounds for Faster Stochastic Rasterization Samuli Laine Timo Aila Tero Karras Jaakko Lehtinen NVIDIA Research.

5D Rasterization

t=0 t=1

t

?

Page 22: Clipless Dual-Space Bounds for Faster Stochastic Rasterization Samuli Laine Timo Aila Tero Karras Jaakko Lehtinen NVIDIA Research.

5D Rasterization

t=0 t=1

t

Page 23: Clipless Dual-Space Bounds for Faster Stochastic Rasterization Samuli Laine Timo Aila Tero Karras Jaakko Lehtinen NVIDIA Research.

5D Rasterization

t=0 t=1

t?

Page 24: Clipless Dual-Space Bounds for Faster Stochastic Rasterization Samuli Laine Timo Aila Tero Karras Jaakko Lehtinen NVIDIA Research.

5D Rasterization

t=0 t=1

t?

Page 25: Clipless Dual-Space Bounds for Faster Stochastic Rasterization Samuli Laine Timo Aila Tero Karras Jaakko Lehtinen NVIDIA Research.

Pixar Algorithm

t=0 t=1

t

t=.5

Page 26: Clipless Dual-Space Bounds for Faster Stochastic Rasterization Samuli Laine Timo Aila Tero Karras Jaakko Lehtinen NVIDIA Research.

Pixar Algorithm

t=0 t=1

t

t=.5

X X

Page 27: Clipless Dual-Space Bounds for Faster Stochastic Rasterization Samuli Laine Timo Aila Tero Karras Jaakko Lehtinen NVIDIA Research.

Pixar Algorithm

t=0 t=1

t

t=.5

X X

Page 28: Clipless Dual-Space Bounds for Faster Stochastic Rasterization Samuli Laine Timo Aila Tero Karras Jaakko Lehtinen NVIDIA Research.

Our Method

t=0 t=1

t

Page 29: Clipless Dual-Space Bounds for Faster Stochastic Rasterization Samuli Laine Timo Aila Tero Karras Jaakko Lehtinen NVIDIA Research.

Our Method

t=0 t=1

t

Page 30: Clipless Dual-Space Bounds for Faster Stochastic Rasterization Samuli Laine Timo Aila Tero Karras Jaakko Lehtinen NVIDIA Research.

Our Method

t=0 t=1

t X X Xt range computed for pixel

Page 31: Clipless Dual-Space Bounds for Faster Stochastic Rasterization Samuli Laine Timo Aila Tero Karras Jaakko Lehtinen NVIDIA Research.

Our Method

Determine pixels potentially covered by triangle For each pixel

Compute time bounds tmin ,tmax

Enumerate samples where tmin ≤ t ≤ tmax

For each such sample, perform 5D coverage test

Same for lens bounds umin ,umax and vmin ,vmax

Page 32: Clipless Dual-Space Bounds for Faster Stochastic Rasterization Samuli Laine Timo Aila Tero Karras Jaakko Lehtinen NVIDIA Research.

Bound Computation

Lens bounds computed in screen space

Time bounds computed in dual space

Page 33: Clipless Dual-Space Bounds for Faster Stochastic Rasterization Samuli Laine Timo Aila Tero Karras Jaakko Lehtinen NVIDIA Research.

Lens Bounds

x

y

u=0u= –1 u= +1

film

lens

focal plane

u

screen-space x islinear with u

Page 34: Clipless Dual-Space Bounds for Faster Stochastic Rasterization Samuli Laine Timo Aila Tero Karras Jaakko Lehtinen NVIDIA Research.

Lens Bounds

x

y

u= –1 u= +1

screen-space x islinear with u

Page 35: Clipless Dual-Space Bounds for Faster Stochastic Rasterization Samuli Laine Timo Aila Tero Karras Jaakko Lehtinen NVIDIA Research.

Lens Bounds

x

y

u=a u=b

screen-space x islinear with u

ua b

Page 36: Clipless Dual-Space Bounds for Faster Stochastic Rasterization Samuli Laine Timo Aila Tero Karras Jaakko Lehtinen NVIDIA Research.

Time Bounds

World-space affine motion Not affine in screen space, but affine in clip space

Perspective causes singularities in screen space

Operate in dual space

Page 37: Clipless Dual-Space Bounds for Faster Stochastic Rasterization Samuli Laine Timo Aila Tero Karras Jaakko Lehtinen NVIDIA Research.

Clip Space and Dual Space

x

wt=0 t=1

Page 38: Clipless Dual-Space Bounds for Faster Stochastic Rasterization Samuli Laine Timo Aila Tero Karras Jaakko Lehtinen NVIDIA Research.

Clip Space and Dual Space

x

w

γ

δγ= –1 γ= +

1

Page 39: Clipless Dual-Space Bounds for Faster Stochastic Rasterization Samuli Laine Timo Aila Tero Karras Jaakko Lehtinen NVIDIA Research.

Clip Space and Dual Space

x

w

γ

δ

δ

{

γ= –0.5

Page 40: Clipless Dual-Space Bounds for Faster Stochastic Rasterization Samuli Laine Timo Aila Tero Karras Jaakko Lehtinen NVIDIA Research.

Clip Space and Dual Space

x

w

γ

δ

Page 41: Clipless Dual-Space Bounds for Faster Stochastic Rasterization Samuli Laine Timo Aila Tero Karras Jaakko Lehtinen NVIDIA Research.

Clip Space and Dual Space

x

w

γ

δ

Page 42: Clipless Dual-Space Bounds for Faster Stochastic Rasterization Samuli Laine Timo Aila Tero Karras Jaakko Lehtinen NVIDIA Research.

Clip Space and Dual Space

x

w

γ

δ

Page 43: Clipless Dual-Space Bounds for Faster Stochastic Rasterization Samuli Laine Timo Aila Tero Karras Jaakko Lehtinen NVIDIA Research.

Clip Space and Dual Space

x

w

γ

δ

δ is linear in x and wδ = x – wγ

x and w are linear in tδ is linear in t

t=0 t=1

t=0

t=1

Page 44: Clipless Dual-Space Bounds for Faster Stochastic Rasterization Samuli Laine Timo Aila Tero Karras Jaakko Lehtinen NVIDIA Research.

Clip Space and Dual Space

x

w

γ

δt=0 t=1

t=0

t=1

Page 45: Clipless Dual-Space Bounds for Faster Stochastic Rasterization Samuli Laine Timo Aila Tero Karras Jaakko Lehtinen NVIDIA Research.

Clip Space and Dual Space

x

w

γ

δt=0 t=1

t=0

t=1

Page 46: Clipless Dual-Space Bounds for Faster Stochastic Rasterization Samuli Laine Timo Aila Tero Karras Jaakko Lehtinen NVIDIA Research.

Clip Space and Dual Space

x

w

γ

δt=0 t=1

t=0

t=1

t=a

t

Page 47: Clipless Dual-Space Bounds for Faster Stochastic Rasterization Samuli Laine Timo Aila Tero Karras Jaakko Lehtinen NVIDIA Research.

Clip Space and Dual Space

x

w

γ

δt=0 t=1

t=0

t=1

t=a

ta

Page 48: Clipless Dual-Space Bounds for Faster Stochastic Rasterization Samuli Laine Timo Aila Tero Karras Jaakko Lehtinen NVIDIA Research.

Time Bounds

Compute separately for x and y Intersect resulting spans

If intersection is empty, skip pixel

Page 49: Clipless Dual-Space Bounds for Faster Stochastic Rasterization Samuli Laine Timo Aila Tero Karras Jaakko Lehtinen NVIDIA Research.

Recap

For each triangle For each pixel

Compute t, u, v bounds

Cull samples outside bounds

Profit

Page 50: Clipless Dual-Space Bounds for Faster Stochastic Rasterization Samuli Laine Timo Aila Tero Karras Jaakko Lehtinen NVIDIA Research.

Results

Measure sample test efficiency (STE)

Compare against methods that allow arbitrary sampling patterns

# samples tested with full 5D test

# samples hitSTE =

Page 51: Clipless Dual-Space Bounds for Faster Stochastic Rasterization Samuli Laine Timo Aila Tero Karras Jaakko Lehtinen NVIDIA Research.

Results

Scene: Age of Conan PC MMO, courtesy of Funcom

Bboxscan

Pixar Ourmethod4 16 64

static 23.6 23.6 23.6 23.6 23.6

motion 2.7 9.5 17.7 21.9 23.7

motion x 2 1.3 6.0 14.6 20.9 24.0

defocus 1.7 4.4 8.8 13.9 23.1

defocus x 2 0.7 1.8 4.4 8.8 21.9

both 0.7 1.2 2.6 4.3 5.6

both x 2 0.4 0.6 1.1 2.0 2.9STE in %, scene Conan

Page 52: Clipless Dual-Space Bounds for Faster Stochastic Rasterization Samuli Laine Timo Aila Tero Karras Jaakko Lehtinen NVIDIA Research.

Results

Scene: Assassin’s Creed, courtesy of Ubisoft

Bboxscan

Pixar Ourmethod4 16 64

static 23.2 23.2 23.2 23.2 23.2

motion 10.8 19.5 22.4 23.1 23.4

motion x 2 4.3 14.8 21.2 23.0 23.6

defocus 9.5 15.1 19.0 21.1 23.2

defocus x 2 4.3 9.5 15.1 19.0 23.0

both 4.5 6.8 7.2 10.1 14.1

both x 2 1.3 2.1 3.9 6.7 6.9STE in %, scene Assassin

Page 53: Clipless Dual-Space Bounds for Faster Stochastic Rasterization Samuli Laine Timo Aila Tero Karras Jaakko Lehtinen NVIDIA Research.

Results

Bboxscan

Pixar Ourmethod4 16 64

static 8.59 8.60 8.59 8.60 8.59

motion 0.50 2.97 6.43 8.02 8.63

motion x 2 0.14 1.27 4.70 7.40 8.69

defocus 0.19 0.59 1.53 3.13 8.57

defocus x 2 0.05 0.19 0.59 1.53 8.51

both 0.12 0.25 0.49 1.08 4.51

both x 2 0.03 0.07 0.16 0.39 2.42STE in %, scene Cars

Page 54: Clipless Dual-Space Bounds for Faster Stochastic Rasterization Samuli Laine Timo Aila Tero Karras Jaakko Lehtinen NVIDIA Research.

Conclusions

Each triangle processed once Arbitrary sampling patterns High STE

Future work Combined motion + defocus case

Page 55: Clipless Dual-Space Bounds for Faster Stochastic Rasterization Samuli Laine Timo Aila Tero Karras Jaakko Lehtinen NVIDIA Research.

Thank You