hardware-accelerated rendering of antialiased shadows with shadow maps stefan brabec and hans-peter...
TRANSCRIPT
![Page 1: Hardware-accelerated Rendering of Antialiased Shadows With Shadow Maps Stefan Brabec and Hans-Peter Seidel Max-Planck-Institut für Informatik Saarbrücken,](https://reader035.vdocuments.us/reader035/viewer/2022070403/56649f295503460f94c42be4/html5/thumbnails/1.jpg)
Hardware-accelerated Hardware-accelerated Rendering of Antialiased Rendering of Antialiased
Shadows With Shadow MapsShadows With Shadow MapsStefan Brabec and Hans-Peter Seidel
Max-Planck-Institut für Informatik
Saarbrücken, Germany
![Page 2: Hardware-accelerated Rendering of Antialiased Shadows With Shadow Maps Stefan Brabec and Hans-Peter Seidel Max-Planck-Institut für Informatik Saarbrücken,](https://reader035.vdocuments.us/reader035/viewer/2022070403/56649f295503460f94c42be4/html5/thumbnails/2.jpg)
Stefan Brabec, MPI Informatik
OverviewOverview
IntroductionShadow mapping using graphics hardwareHardware-based percentage closer filteringA faster approachResultsConclusions
![Page 3: Hardware-accelerated Rendering of Antialiased Shadows With Shadow Maps Stefan Brabec and Hans-Peter Seidel Max-Planck-Institut für Informatik Saarbrücken,](https://reader035.vdocuments.us/reader035/viewer/2022070403/56649f295503460f94c42be4/html5/thumbnails/3.jpg)
Stefan Brabec, MPI Informatik
IntroductionIntroduction
Hardware-accelerated rendering mostlydominated by local effects– Triangle through-put– Fast lighting & texturing
Most important global effect are shadows– Two main classes of shadow algorithms
Shadow Volumes [Crow ’77] Shadow Maps [Williams ’78]
![Page 4: Hardware-accelerated Rendering of Antialiased Shadows With Shadow Maps Stefan Brabec and Hans-Peter Seidel Max-Planck-Institut für Informatik Saarbrücken,](https://reader035.vdocuments.us/reader035/viewer/2022070403/56649f295503460f94c42be4/html5/thumbnails/4.jpg)
Stefan Brabec, MPI Informatik
Shadow MappingShadow Mapping
Sampling based approach– Generate depth map from light source position
Store depth values of frontmost pixels
– Final rendering pass Foreach pixel seen by the camera:
– Transform to light source coordinate system
– Compare corresponding entry in depth mapwith transformed camera depth
![Page 5: Hardware-accelerated Rendering of Antialiased Shadows With Shadow Maps Stefan Brabec and Hans-Peter Seidel Max-Planck-Institut für Informatik Saarbrücken,](https://reader035.vdocuments.us/reader035/viewer/2022070403/56649f295503460f94c42be4/html5/thumbnails/5.jpg)
Stefan Brabec, MPI Informatik
Shadow MappingShadow Mapping
Shadow Maps – Make their way to hardware
SGI InfiniteReality, NVIDIA GeForce3, ATI
– Implemented as special texture map operation Compare value at (s/q,t/q) with r/q -> result 1 or 0
– Can also be implemented using standard OpenGL
![Page 6: Hardware-accelerated Rendering of Antialiased Shadows With Shadow Maps Stefan Brabec and Hans-Peter Seidel Max-Planck-Institut für Informatik Saarbrücken,](https://reader035.vdocuments.us/reader035/viewer/2022070403/56649f295503460f94c42be4/html5/thumbnails/6.jpg)
Stefan Brabec, MPI Informatik
Shadow MappingShadow Mapping
Pros:– Does not depend on scene geometry– Can be implemented using graphics-hardware
Cons:– Sampling problems (aliasing)
High resolution depth maps Filtering
![Page 7: Hardware-accelerated Rendering of Antialiased Shadows With Shadow Maps Stefan Brabec and Hans-Peter Seidel Max-Planck-Institut für Informatik Saarbrücken,](https://reader035.vdocuments.us/reader035/viewer/2022070403/56649f295503460f94c42be4/html5/thumbnails/7.jpg)
Stefan Brabec, MPI Informatik
Shadow MappingShadow Mapping
Percentage closer filtering [Reeves `87]– Filtering depth values makes no sense – Perform shadow test before filtering
![Page 8: Hardware-accelerated Rendering of Antialiased Shadows With Shadow Maps Stefan Brabec and Hans-Peter Seidel Max-Planck-Institut für Informatik Saarbrücken,](https://reader035.vdocuments.us/reader035/viewer/2022070403/56649f295503460f94c42be4/html5/thumbnails/8.jpg)
Stefan Brabec, MPI Informatik
Shadow MappingShadow Mapping
Our Shadow Mapping Approach– Render scene as seen by light source– Encode depth values in alpha channel
– Project this texture into the final scene– Subtract depth values to determine lit pixels
![Page 9: Hardware-accelerated Rendering of Antialiased Shadows With Shadow Maps Stefan Brabec and Hans-Peter Seidel Max-Planck-Institut für Informatik Saarbrücken,](https://reader035.vdocuments.us/reader035/viewer/2022070403/56649f295503460f94c42be4/html5/thumbnails/9.jpg)
Stefan Brabec, MPI Informatik
Shadow MappingShadow Mapping
1D ramp texturebrings depth tocolor values
![Page 10: Hardware-accelerated Rendering of Antialiased Shadows With Shadow Maps Stefan Brabec and Hans-Peter Seidel Max-Planck-Institut für Informatik Saarbrücken,](https://reader035.vdocuments.us/reader035/viewer/2022070403/56649f295503460f94c42be4/html5/thumbnails/10.jpg)
Stefan Brabec, MPI Informatik
Hardware-based PCFHardware-based PCF
How can Reeves’ scheme be adopted for hardware-based shadow mapping ?
Idea: – Generate multi-channel depth map
where each entry contains also valuesof neighborhood pixels
![Page 11: Hardware-accelerated Rendering of Antialiased Shadows With Shadow Maps Stefan Brabec and Hans-Peter Seidel Max-Planck-Institut für Informatik Saarbrücken,](https://reader035.vdocuments.us/reader035/viewer/2022070403/56649f295503460f94c42be4/html5/thumbnails/11.jpg)
Stefan Brabec, MPI Informatik
Shadow MappingShadow Mapping
Problem: 1D ramp texture can only use 256 depth values because of frame buffer depth– Only for scenes with moderate complexity
But: 16 bits possible with NVIDIA’sregister combiners– Use two color channels (high & low 8 bits)– See NVIDIA website for more details
![Page 12: Hardware-accelerated Rendering of Antialiased Shadows With Shadow Maps Stefan Brabec and Hans-Peter Seidel Max-Planck-Institut für Informatik Saarbrücken,](https://reader035.vdocuments.us/reader035/viewer/2022070403/56649f295503460f94c42be4/html5/thumbnails/12.jpg)
Stefan Brabec, MPI Informatik
Hardware-based PCFHardware-based PCF
Multi-channel shadow map– Use RGBA instead of alpha channel only
4 values to sample a 2x2 region Increases effective shadow map resolution by a factor of 2
in each dimension
– Shadow map generation: Render scene four times where in each pass
– One channel (R,G,B or A) is selected
– Image-plane is jittered (stratified sampling) Copy RGBA image to texture
![Page 13: Hardware-accelerated Rendering of Antialiased Shadows With Shadow Maps Stefan Brabec and Hans-Peter Seidel Max-Planck-Institut für Informatik Saarbrücken,](https://reader035.vdocuments.us/reader035/viewer/2022070403/56649f295503460f94c42be4/html5/thumbnails/13.jpg)
Stefan Brabec, MPI Informatik
Hardware-based PCFHardware-based PCF
Stratified sampling and pixel packing
Red Green
Blue
Alpha
![Page 14: Hardware-accelerated Rendering of Antialiased Shadows With Shadow Maps Stefan Brabec and Hans-Peter Seidel Max-Planck-Institut für Informatik Saarbrücken,](https://reader035.vdocuments.us/reader035/viewer/2022070403/56649f295503460f94c42be4/html5/thumbnails/14.jpg)
Stefan Brabec, MPI Informatik
Hardware-based PCFHardware-based PCF
Computing the percentage of shadowing– Final pass using all four channels
R = camera_z – light_z_sample_1 G = camera_z – light_z_sample_2 B = camera_z – light_z_sample_3 A = camera_z – light_z_sample_4
– Channel is in shadow if value > 0
![Page 15: Hardware-accelerated Rendering of Antialiased Shadows With Shadow Maps Stefan Brabec and Hans-Peter Seidel Max-Planck-Institut für Informatik Saarbrücken,](https://reader035.vdocuments.us/reader035/viewer/2022070403/56649f295503460f94c42be4/html5/thumbnails/15.jpg)
Stefan Brabec, MPI Informatik
Hardware-based PCFHardware-based PCF
Computing the percentage of shadowing– Implemented using OpenGL Imaging Subset
R
G
B
A
0 64 64 64 64
0 64 64 64 64
0 64 64 64 64
0 63 63 63 63
RGBA Color Table Color Matrix
R = unused
G = unused
B = unused
A = R+G+B+A
PercentageShadow inAlpha !
64,63 corresponds to 25 % shadowSums up to 255 for full shadow
![Page 16: Hardware-accelerated Rendering of Antialiased Shadows With Shadow Maps Stefan Brabec and Hans-Peter Seidel Max-Planck-Institut für Informatik Saarbrücken,](https://reader035.vdocuments.us/reader035/viewer/2022070403/56649f295503460f94c42be4/html5/thumbnails/16.jpg)
Stefan Brabec, MPI Informatik
Hardware-based PCFHardware-based PCF
Larger filter sizes possible– Split up into parts of max. 4 components – Sum up shadow contributions using the
accumulation buffer
Problem:– Number of rendering passes (scene geometry)
not really practical for dynamic scenes
![Page 17: Hardware-accelerated Rendering of Antialiased Shadows With Shadow Maps Stefan Brabec and Hans-Peter Seidel Max-Planck-Institut für Informatik Saarbrücken,](https://reader035.vdocuments.us/reader035/viewer/2022070403/56649f295503460f94c42be4/html5/thumbnails/17.jpg)
Stefan Brabec, MPI Informatik
Fast PCFFast PCF
Problem: – Previous algorithm needs four passes
only for shadow map generation Unsuitable for very complex scenes
Fast PCF:– Use only one rendering pass and collect
neighborhood pixels
![Page 18: Hardware-accelerated Rendering of Antialiased Shadows With Shadow Maps Stefan Brabec and Hans-Peter Seidel Max-Planck-Institut für Informatik Saarbrücken,](https://reader035.vdocuments.us/reader035/viewer/2022070403/56649f295503460f94c42be4/html5/thumbnails/18.jpg)
Stefan Brabec, MPI Informatik
Fast PCFFast PCF
Fast PCF filtering and pixel packing
Red Green
Blue Alpha
![Page 19: Hardware-accelerated Rendering of Antialiased Shadows With Shadow Maps Stefan Brabec and Hans-Peter Seidel Max-Planck-Institut für Informatik Saarbrücken,](https://reader035.vdocuments.us/reader035/viewer/2022070403/56649f295503460f94c42be4/html5/thumbnails/19.jpg)
Stefan Brabec, MPI Informatik
Fast PCF Fast PCF
Collect pixels using convolution
Currently the only hardware-acceleratedoperation to include information from adjacent pixels
![Page 20: Hardware-accelerated Rendering of Antialiased Shadows With Shadow Maps Stefan Brabec and Hans-Peter Seidel Max-Planck-Institut für Informatik Saarbrücken,](https://reader035.vdocuments.us/reader035/viewer/2022070403/56649f295503460f94c42be4/html5/thumbnails/20.jpg)
Stefan Brabec, MPI Informatik
Fast PCFFast PCF
Center pixel consists of RGBA values taken from lower-left 2x2 region
Use larger (3x3) filter for best hardwaresupport
Assemble pixels using neighborhood channels
![Page 21: Hardware-accelerated Rendering of Antialiased Shadows With Shadow Maps Stefan Brabec and Hans-Peter Seidel Max-Planck-Institut für Informatik Saarbrücken,](https://reader035.vdocuments.us/reader035/viewer/2022070403/56649f295503460f94c42be4/html5/thumbnails/21.jpg)
Stefan Brabec, MPI Informatik
Fast PCFFast PCF
Texture coordinate offset– Shift center pixel to be
centered in 2x2 region
ds
2,
2
dtds
![Page 22: Hardware-accelerated Rendering of Antialiased Shadows With Shadow Maps Stefan Brabec and Hans-Peter Seidel Max-Planck-Institut für Informatik Saarbrücken,](https://reader035.vdocuments.us/reader035/viewer/2022070403/56649f295503460f94c42be4/html5/thumbnails/22.jpg)
Stefan Brabec, MPI Informatik
Fast PCFFast PCF
Fast PCF only uses one rendering passfor shadow map generation– Suitable for larger filter sizes– Example: 4x4 footprint
Four passes which will sample the lower right, lower left, upper right and upper left2x2 region
Results in 4*5=20 shadowing levels Four shadow map textures used
![Page 23: Hardware-accelerated Rendering of Antialiased Shadows With Shadow Maps Stefan Brabec and Hans-Peter Seidel Max-Planck-Institut für Informatik Saarbrücken,](https://reader035.vdocuments.us/reader035/viewer/2022070403/56649f295503460f94c42be4/html5/thumbnails/23.jpg)
Stefan Brabec, MPI Informatik
ResultsResults
without filtering
![Page 24: Hardware-accelerated Rendering of Antialiased Shadows With Shadow Maps Stefan Brabec and Hans-Peter Seidel Max-Planck-Institut für Informatik Saarbrücken,](https://reader035.vdocuments.us/reader035/viewer/2022070403/56649f295503460f94c42be4/html5/thumbnails/24.jpg)
Stefan Brabec, MPI Informatik
ResultsResults
normal PCF (filter size 2x2)
![Page 25: Hardware-accelerated Rendering of Antialiased Shadows With Shadow Maps Stefan Brabec and Hans-Peter Seidel Max-Planck-Institut für Informatik Saarbrücken,](https://reader035.vdocuments.us/reader035/viewer/2022070403/56649f295503460f94c42be4/html5/thumbnails/25.jpg)
Stefan Brabec, MPI Informatik
ResultsResults
fast PCF (filter size 2x2)
![Page 26: Hardware-accelerated Rendering of Antialiased Shadows With Shadow Maps Stefan Brabec and Hans-Peter Seidel Max-Planck-Institut für Informatik Saarbrücken,](https://reader035.vdocuments.us/reader035/viewer/2022070403/56649f295503460f94c42be4/html5/thumbnails/26.jpg)
Stefan Brabec, MPI Informatik
ResultsResults
real PCF vs. fast PCF
![Page 27: Hardware-accelerated Rendering of Antialiased Shadows With Shadow Maps Stefan Brabec and Hans-Peter Seidel Max-Planck-Institut für Informatik Saarbrücken,](https://reader035.vdocuments.us/reader035/viewer/2022070403/56649f295503460f94c42be4/html5/thumbnails/27.jpg)
Stefan Brabec, MPI Informatik
ResultsResults
fast,multipass PCF (filter size 4x4)
![Page 28: Hardware-accelerated Rendering of Antialiased Shadows With Shadow Maps Stefan Brabec and Hans-Peter Seidel Max-Planck-Institut für Informatik Saarbrücken,](https://reader035.vdocuments.us/reader035/viewer/2022070403/56649f295503460f94c42be4/html5/thumbnails/28.jpg)
Stefan Brabec, MPI Informatik
ResultsResultsTimings & Overview
No filtering
PCF 2x2
Fast PCF 2x2
PCF 4x4
30 fps
10 fps
20 fps
< 0.5 fps
1 pass
4 passes
1 pass
16 passes
2 levels
5 levels
5 levels
20 levels
Fast PCF 4x4 5 fps 4 passes 20 levels
Machine: SGI Octane VPro/8Image Resolution: 800x600Shadow Map: 512x512Polygons: 7000
Frame rate Generation Shadowing
![Page 29: Hardware-accelerated Rendering of Antialiased Shadows With Shadow Maps Stefan Brabec and Hans-Peter Seidel Max-Planck-Institut für Informatik Saarbrücken,](https://reader035.vdocuments.us/reader035/viewer/2022070403/56649f295503460f94c42be4/html5/thumbnails/29.jpg)
Stefan Brabec, MPI Informatik
no filtering
![Page 30: Hardware-accelerated Rendering of Antialiased Shadows With Shadow Maps Stefan Brabec and Hans-Peter Seidel Max-Planck-Institut für Informatik Saarbrücken,](https://reader035.vdocuments.us/reader035/viewer/2022070403/56649f295503460f94c42be4/html5/thumbnails/30.jpg)
Stefan Brabec, MPI Informatik
fast PCF (filter size 2x2)
![Page 31: Hardware-accelerated Rendering of Antialiased Shadows With Shadow Maps Stefan Brabec and Hans-Peter Seidel Max-Planck-Institut für Informatik Saarbrücken,](https://reader035.vdocuments.us/reader035/viewer/2022070403/56649f295503460f94c42be4/html5/thumbnails/31.jpg)
Stefan Brabec, MPI Informatik
ConclusionsConclusions
Benefits:– Good-looking, anti-aliased shadows– Hardware-based (fast)– Standard OpenGL
Drawbacks:– OpenGL Imaging Subset not everywhere available– Depth to color mapping needs more than
8 bits per channel for complex scenes
![Page 32: Hardware-accelerated Rendering of Antialiased Shadows With Shadow Maps Stefan Brabec and Hans-Peter Seidel Max-Planck-Institut für Informatik Saarbrücken,](https://reader035.vdocuments.us/reader035/viewer/2022070403/56649f295503460f94c42be4/html5/thumbnails/32.jpg)
Stefan Brabec, MPI Informatik
ConclusionsConclusions
Future Work:– Now: only constant filter sizes– Better: mipmap-like method to compute filter size
using the projected area
![Page 33: Hardware-accelerated Rendering of Antialiased Shadows With Shadow Maps Stefan Brabec and Hans-Peter Seidel Max-Planck-Institut für Informatik Saarbrücken,](https://reader035.vdocuments.us/reader035/viewer/2022070403/56649f295503460f94c42be4/html5/thumbnails/33.jpg)
Stefan Brabec, MPI Informatik
Thank You !Thank You !
Visit us athttp://www.mpi-sb.mpg.de
Max-Planck-Institut für InformatikComputer Graphics Group