Convolution shadow maps l.jpg
This presentation is the property of its rightful owner.
Sponsored Links
1 / 23

Convolution Shadow Maps PowerPoint PPT Presentation


  • 129 Views
  • Uploaded on
  • Presentation posted in: General

Convolution Shadow Maps. * MPI Informatik Germany. † Hasselt University Belgium. ‡ University College London UK. Motivation: Screen-space anti-aliasing. Percentage Closer Filtering (NVIDIA). Convolution Shadow Map (CSM). Shadow Mapping. Problem statement.

Download Presentation

Convolution Shadow Maps

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Convolution shadow maps l.jpg

Convolution Shadow Maps

*MPI Informatik Germany

† Hasselt University

Belgium

‡University College London

UK


Motivation screen space anti aliasing l.jpg

Motivation: Screen-space anti-aliasing

Percentage Closer Filtering (NVIDIA)

Convolution Shadow Map (CSM)


Problem statement l.jpg

Shadow Mapping

Problem statement

Filtering the z values of the Shadow Map

Filtering the CSM data structure

Helix scene

?

?


Benefits of a csm l.jpg

Benefits of a CSM

  • Efficient screen-space anti-aliasing through hardware filtering

    • Including mipmapping and anisotropic filtering

  • Enables additional convolutions

    • Blur filter conceals discretization artifacts

  • Improves temporal coherence substantially


Related work l.jpg

Related Work

  • Percentage Closer Filtering (PCF) [Reeves et al. 1987]

    • average multiple shadow tests

    • NVIDIA’s GPU version

      • 2x2 pattern

      • analogous to bilinear filter

      • Trilinear (mipmap) not possible

  • Variance Shadow Maps (VSM) [Donnelly et al. 2006]

    • Probabilistic approach

    • Filtering z and z2

    • Estimates upper bound only

      • Light leaking artifacts

    • Precision problems

Courtesy of Donnelly [Demo]


Shadow mapping williams 1978 l.jpg

L

p

z(p)

c

d(x)

x

Shadow Mapping [Williams 1978]

  • xR3

  • pR2

  • x equals p just in different spaces

  • Shadow function:s(x):=f(d(x),z(p))

  • Binary result:

    • 1 if d(x)<=z(p)

    • 0 else


Shadow test function s x l.jpg

L

p

d(x’)

z(p)

c

x

x’

Shadow test function: s(x)

  • What kind of function is s(x)?

  • Heaviside Step Function: H(t)

Shadow term for x’


How to filter s x l.jpg

L

p

q

p

z(p)

N

c

d(x)

x

y

y

N

How to filter s(x) ?

  • Filter s(x) “around” p

  • Assume d(y)≈ d(x)

    • d(x) representativedistance forN

    • Same for PCF

  • Then we get:


Non linearity of the shadow test l.jpg

f(d,z) = ai(d) Bi(z)

s(x)≈ ai(d(x)) Bi(z(p))

Non-linearity of the shadow test

  • =

  • Filtering shadow test result != filtering z values

  • Our new solution: Transform depth map such that we can write the shadow test as a sum

(1D function)

z(p)

Bi(z(p))


Reconstruction example l.jpg

Reconstruction Example

  • s(x) ≈ a1(d) +a2(d) +..+ a4(d) +..+ a8(d) +..+a16(d)


Why is this useful l.jpg

= [w * ai(d(x)) Bi(z)](p)

= ai(d(x))[w * Bi(z)](p)

Why is this useful?

  • Fill expansion into convolution formula

  • Convolution on s(x) == convolution on Bi(z(p))

  • Note: d(x) and z(p) had to be separable!

  • Decoupling d(x) and z(p) enables pre-filtering!

sf (x) = [w * f(d(x), z)](p)


Filtering example l.jpg

s(x) ≈

a1(d)+..+a4(d)

+…+

a8(d)+..+a16(d)

sf (x) ≈

a1(d)+..+a4(d)

+…+

a8(d)+..+a16(d)

Filtering Example

Original Bi(z)

After filtering Bi(z)

[w * Bi(z)]


What expansion do we use l.jpg

What expansion do we use?

  • Approximate shadow test with Fourier series

c1

+c2

+..+c4

+..+c8

+..+c16


Important properties of a fourier series l.jpg

c1

+c2

+..+c4

+..+c8

+..+c16

Important properties of a Fourier series

  • Step function becomes sum of weighted sin()

  • Series is separable!

  • Constant error due to shift invariance


Anti aliased shadows sm 512 2 l.jpg

PCF (NVIDIA)

Anti-aliased shadows (SM: 5122)

  • Trilinear filtering and additional convolution

CSM

CSM – 7x7 Gauss


Tree scene sm 2048 2 l.jpg

PCF (NVIDIA)

CSM

CSM – 7x7 Gauss

Tree scene (SM: 20482)

  • Mipmapped CSM recovers fine details


Blurred shadows l.jpg

Blurred Shadows

Filter size: 3x3

1282

2562

5122

10242

SM:

Filter size:7x7

1282

2562

5122

10242

SM:


Issues with a fourier series l.jpg

Issues with a Fourier series

  • Ringing suppression

    • Reduce higher frequencies

  • Steepness of “ramp”

    • Offset (transl. invariance!)

      • Shift shadow test

      • Increases lightness prob.

    • Scaling

      • Scale shadow test

      • Decreases filtering

  • See paper for tradeoffs


Limitations and drawbacks l.jpg

Limitations and drawbacks

  • Influence of reconstruction order M

  • Memory consumption increases as M grows

  • Performance (filtering) decreases as M grows

M = 1

M = 2

M = 4

M = 8

M = 16


Performance and memory l.jpg

Performance and Memory

  • Frame rate for complex scene (see video) ~365k polygons (NVIDIA GeForce 8800-GTX)

  • Requires (M/2) 8-bit RGBA textures

  • Apply convolution to each texture

256 512 1024 2048


Conclusion l.jpg

Conclusion

  • CSM, a new data structure which enables pre-filtering of shadow maps

    • Mipmaps

  • High quality screen-space anti-aliasing for shadow rendering

    • Improved temporal coherence

  • Additional convolution conceals discretization artifacts


Outlook and extensions l.jpg

Outlook and Extensions

  • New separable expansion

    • Less memory

    • Higher performance

    • Better quality at contact points

  • Rendering approximate Soft shadows

    • Efficient algorithm based on spatial relations


Video l.jpg

Video


  • Login