convolution shadow maps
Download
Skip this Video
Download Presentation
Convolution Shadow Maps

Loading in 2 Seconds...

play fullscreen
1 / 23

Convolution Shadow Maps - PowerPoint PPT Presentation


  • 151 Views
  • Uploaded on

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.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Convolution Shadow Maps' - mireille


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
Convolution Shadow Maps

*MPI Informatik Germany

† Hasselt University

Belgium

‡University College London

UK

motivation screen space anti aliasing
Motivation: Screen-space anti-aliasing

Percentage Closer Filtering (NVIDIA)

Convolution Shadow Map (CSM)

problem statement

Shadow Mapping

Problem statement

Filtering the z values of the Shadow Map

Filtering the CSM data structure

Helix scene

?

?

benefits of a csm
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
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

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

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

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

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
Reconstruction Example
  • s(x) ≈ a1(d) +a2(d) +..+ a4(d) +..+ a8(d) +..+a16(d)
why is this useful

= [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

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
What expansion do we use?
  • Approximate shadow test with Fourier series

c1

+c2

+..+c4

+..+c8

+..+c16

important properties of a fourier series

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

PCF (NVIDIA)

Anti-aliased shadows (SM: 5122)
  • Trilinear filtering and additional convolution

CSM

CSM – 7x7 Gauss

tree scene sm 2048 2

PCF (NVIDIA)

CSM

CSM – 7x7 Gauss

Tree scene (SM: 20482)
  • Mipmapped CSM recovers fine details
blurred shadows
Blurred Shadows

Filter size: 3x3

1282

2562

5122

10242

SM:

Filter size:7x7

1282

2562

5122

10242

SM:

issues with a fourier series
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
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
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
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
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
ad