0% found this document useful (0 votes)
6 views52 pages

CGII Pres5

cg

Uploaded by

kuldeep kumar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views52 pages

CGII Pres5

cg

Uploaded by

kuldeep kumar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 52

CS 431/636

Advanced Rendering
Techniques

Dr. David Breen


Matheson 308
Thursday 6PM 
8:50PM
Presentation 5
5/9/06
Questions from Last
Time?
Acceleration techniques
 Bounding Regions
 Acceleration Spatial Data
Structures
 Regular Grids
 Adaptive Grids

 Bounding Volume Hierarchies

 Dot product problem


Slide Credits

 David Luebke - University of


Virginia
 Kevin Suffern - University of
Technology, Sydney, Australia
Anti-aliasing
 Aliasing: signal processing
term with very specific meaning
 Aliasing: computer graphics
term for any unwanted visual
artifact based on sampling
 Jaggies, drop-outs, etc.
 Anti-aliasing: computer
graphics term for fixing these
unwanted artifacts
 We’ll tackle these in order
Signal Processing
 Raster display: regular
sampling of a continuous(?)
function
 Think about sampling a 1-D
function:
Signal Processing
 Sampling a 1-D function:
Signal Processing
 Sampling a 1-D function:
Signal Processing
 Sampling a 1-D function:
 What do you notice?
Signal Processing
 Sampling a 1-D function: what
do you notice?
 Jagged, not smooth
Signal Processing
 Sampling a 1-D function: what
do you notice?
 Jagged, not smooth
 Loses information!
Signal Processing
 Sampling a 1-D function: what
do you notice?
 Jagged, not smooth
 Loses information!

 What can we do about these?


 Use higher-order reconstruction
 Use more samples
 How many more samples?
The Sampling Theorem
 Obviously, the more samples we
take the better those samples
approximate the original
function
 The sampling theorem:
A continuous bandlimited function can be
completely represented by a set of equally
spaced samples, if the samples occur at
more than twice the frequency of the
highest frequency component of the function
The Sampling Theorem
 In other words, to adequately
capture a function with maximum
frequency F, we need to sample
it at frequency N = 2F.
 N is called the Nyquist limit
 What is the maximum frequency?
The Sampling Theorem
 An example: sinusoids
The Sampling Theorem
 An example: sinusoids
Fourier Theory
 Fourier theory lets us
decompose any signal into the
sum of (a possibly infinite
number of) sine waves
 Next comes the math…
 Switch to hand-written notes
Recap: Fourier Theory
 Can decompose any signal I(x) into
a spectrum of sine waves F(u)
 F(u) is complex; we represent it
with:
|F(u)| = [Real(u)2 + Imag(u)2]1/2
Ø(u) = tan-1[Real(u)/Imag(u)]
 These are called the amplitude and
phase spectra
Recap: Aliasing
 Sampling a function
= multiplying I(x) by sampling fn Sx
= convolving F(u) by sampling fn S1/x
= copying F(u) at regular intervals
 If the copies of F(u) overlap, high
frequencies “fold over”, appearing
as lower frequencies
 This is known as aliasing
Recap: Prefiltering
 Eliminate high frequencies
before sampling
 Convert I(x) to F(u)
 Apply a low-pass filter (e.g.,
multiply F(u) by a box function)
 Then sample. Result: no aliasing!
 Problem: most rendering
algorithms generate sampled
function directly
 e.g., Z-buffer, ray tracing
Supersampling
 The simplest way to reduce aliasing
artifacts is supersampling
 Increase the resolution of the samples
 Average the results down
 Sometimes called postfiltering
 Create virtual image at higher
resolution than the final image
 Apply a low-pass filter
 Resample filtered image
Supersampling:
Limitations
 Q: What practical consideration
hampers supersampling?
 A: Storage goes up quadratically
 Q: What theoretical problem does
supersampling suffer?
 A: Doesn’t eliminate aliasing!
Supersampling simply shifts the
Nyquist limit higher
Supersampling:
Worst Case

 Q: Give a
simple scene
containing
infinite
frequencies
 A: A checkered
ground plane
receding into
the background
Supersampling
 Create virtual image at higher
resolution than the final
image
 This is easy
Supersampling
 Apply a low-pass filter
 Convert to frequency domain
 Multiply by a box function

 Expensive! Can we simplify this?


 Recall: multiplication in frequency
equals convolution in space, so…
 Just convolve initial sampled image
with the FT of a box function
 Isn’t this a lot of work?
Supersampling
 Q: What filter should we use in
space to effect multiplying by a
box function in frequency?
 A: The sinc function (sin(x) / x)
 Q: Why is this hard?
 Sinc function has infinite support
 Sinc function has negative lobes
Supersampling
 Other common filters:
 Truncated sinc
 Box

 Triangle

 Gaussian

 Each has their own frequency


spectrum and artifacts
Supersampling:
Digital Convolution
 In practice, we combine steps 2 &
3:
 Create virtual image at higher
resolution than the final image
 Apply a low-pass filter
 Resample filtered image

 Idea: only create filtered image


at new sample points
 I.e., only convolve filter with
image at new points
Supersampling:
Digital Convolution
 Q: What does convolving a
filter with an image entail
at each sample point?
 A: Multiplying and summing 1 2 1
values = 2 4 2
1 2 1
 Example (also F&vD p 642): 1 2 1

 =
1 2 1 2 4 2
2 4 2 1 2 1
1 2 1


Supersampling
 Typical supersampling algorithm:
 Compute multiple samples per pixel
 Combine sample values for pixel’s value
using simple average
 Q: What filter does this equate to?
 A: Box filter -- one of the worst!
 Q: What’s wrong with box filters?
 Passes infinitely high frequencies
 Attenuates desired frequencies
Supersampling
In Practice
 Sinc function: ideal but
impractical
 One approximation: sinc2
 Another: Guassian falloff
 Q: How wide (what res) should
filter be?
 A: As wide as possible!
In practice: 3x3,
5x5, at most 7x7
Supersampling:
Summary
 Supersampling improves aliasing
artifacts by shifting the Nyquist
limit
 It works by calculating a high-res
image and filtering down to final res
 “Filtering down” means simultaneous
convolution and resampling
 This equates to a weighted average
 Wider filterbetter resultsmore work
Supersampling:
Cons & Pros
 Supersampling cons
 Doesn’t eliminate aliasing, just shifts
the Nyquist limit higher
• Can’t fix some scenes (e.g., checkerboard)
 Badly inflates storage requirements
 Supersampling pros
 Relatively easy
 Often works all right in practice
 Can be added to a standard renderer
Catmull’s Algorithm

A2
 Find fragment
areas
A1
 Multiply by
fragment
colors
 Sum for final
pixel color
AB A3
Catmull’s Algorithm
 First real attempt to filter
in continuous domain
 Very expensive
 Clipping polygons to fragments
 Sorting polygon fragments by

depth
 Equates to box filter
The A-Buffer
 Idea: approximate continuous filtering
by subpixel sampling
 Summing areas now becomes simple
The A-Buffer
 Advantages:
 Incorporating into scanline
renderer reduces storage costs
dramatically
 Processing per pixel depends only

on number of visible fragments


 Can be implemented efficiently

using bitwise logical ops on


subpixel masks
The A-Buffer
 Disadvantages
 Still basically a supersampling
algorithm
 Not a hardware-friendly algorithm

• Lists of potentially visible polygons


can grow without limit
• Work per-pixel non-deterministic
Stochastic Sampling
 Sampling theory tells us that
with a regular sampling grid,
frequencies higher than the
Nyquist limit will alias
 Q: What about irregular sampling?
 A: High frequencies appear as
noise, not aliases
 This turns out to bother our
visual system less!
Stochastic Sampling
 An intuitive argument:
 In stochastic sampling, every
region of the image has a finite
probability of being sampled
 Thus small features that fall

between uniform sample points


tend to be detected by non-
uniform samples
Stochastic Sampling
 Idea: randomizing distribution of
samples scatters aliases into
noise
 Problem: what type of random
distribution to adopt?
 Reason: type of randomness used
affects spectral characteristics
of noise into which high
frequencies are converted
Stochastic Sampling
 Problem: given a pixel, how to
distribute points (samples)
within it?
Stochastic Sampling
 Poisson distribution:
 Completely random
 Add points at random until area

is full.
 Uniform distribution: some

neighboring samples close


together, some distant
Stochastic Sampling
 Poisson disc distribution:
 Poisson distribution, with
minimum-distance constraint
between samples
 Add points at random, removing

again if they are too close to


any previous points
 Very even-looking distribution
Stochastic Sampling
 Jittered distribution
 Start with regular grid of
samples
 Perturb each sample slightly in a

random direction
 More “clumpy” or granular in

appearance
Stochastic Sampling
 Spectral characteristics of these
distributions:
 Poisson: completely uniform (white noise).
High and low frequencies equally present
 Poisson disc: Pulse at origin (DC
component of image), surrounded by empty
ring (no low frequencies), surrounded by
white noise
 Jitter: Approximates Poisson disc
spectrum, but with a smaller empty disc.
Comparison

Regular Random

Poisson Jitter
disk
Recap:
Antialiasing Strategies
 Prefiltering: low-pass filter
the signal before sampling
 Pros:
• Guaranteed to eliminate aliasing
• Preserves all desired frequencies
 Cons:
• Expensive
• Can introduce “ringing”
• Doesn’t fit most rendering algorithms
Recap:
Antialiasing Strategies
 Supersampling:sample at
higher resolution, then
filter down
 Pros:
• Conceptually simple
• Easy to retrofit existing renderers
• Works well most of the time
 Cons:
• High storage costs
• Doesn’t eliminate aliasing, just
shifts Nyquist limit upwards
Recap:
Antialiasing Strategies
 A-Buffer: approximate
prefiltering of continuous signal
by sampling
 Pros:
• Integrating with scan-line renderer
keeps storage costs low
• Can be efficiently implemented with
clever bitwise operations
 Cons:
• Still basically a supersampling approach
• Doesn’t integrate with ray-tracing
Recap:
Antialiasing Strategies
 Stochastic supersampling:
convert high frequencies into
noise
 Pros:
• Retains advantages of supersampling
• Noise is visually better than
aliasing
 Cons:
• Ideal sampling distribution (Poisson
Disc) is expensive
Go to Suffern Slides
Wrap Up
 Discuss next programming
assignment
 Add adaptive supersampling
 Discuss
status/problems/issues with
this week’s programming
assignment

You might also like