1 / 33

Hardware-accelerated Rendering of Antialiased Shadows With Shadow Maps

Hardware-accelerated Rendering of Antialiased Shadows With Shadow Maps. Stefan Brabec and Hans-Peter Seidel Max-Planck-Institut f ür Informatik Saarbrücken, Germany. Overview. Introduction Shadow mapping using graphics hardware Hardware-based percentage closer filtering A faster approach

yagil
Télécharger la présentation

Hardware-accelerated Rendering of Antialiased Shadows With 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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Hardware-accelerated Rendering of Antialiased Shadows With Shadow Maps Stefan Brabec and Hans-Peter Seidel Max-Planck-Institut für Informatik Saarbrücken, Germany

  2. Overview • Introduction • Shadow mapping using graphics hardware • Hardware-based percentage closer filtering • A faster approach • Results • Conclusions Stefan Brabec, MPI Informatik

  3. Introduction • 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] Stefan Brabec, MPI Informatik

  4. Shadow 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 Stefan Brabec, MPI Informatik

  5. Shadow 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 Stefan Brabec, MPI Informatik

  6. Shadow Mapping • Pros: • Does not depend on scene geometry • Can be implemented using graphics-hardware • Cons: • Sampling problems (aliasing) • High resolution depth maps • Filtering Stefan Brabec, MPI Informatik

  7. Shadow Mapping • Percentage closer filtering [Reeves `87] • Filtering depth values makes no sense • Perform shadow test before filtering Stefan Brabec, MPI Informatik

  8. Shadow 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 Stefan Brabec, MPI Informatik

  9. Shadow Mapping • 1D ramp texturebrings depth tocolor values Stefan Brabec, MPI Informatik

  10. Hardware-based PCF • How can Reeves’ scheme be adopted for hardware-based shadow mapping ? • Idea: • Generate multi-channel depth mapwhere each entry contains also valuesof neighborhood pixels Stefan Brabec, MPI Informatik

  11. Shadow 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 Stefan Brabec, MPI Informatik

  12. Hardware-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 2in 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 Stefan Brabec, MPI Informatik

  13. Hardware-based PCF • Stratified sampling and pixel packing Stefan Brabec, MPI Informatik

  14. Hardware-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 Stefan Brabec, MPI Informatik

  15. Hardware-based PCF • Computing the percentage of shadowing • Implemented using OpenGL Imaging Subset 64,63 corresponds to 25 % shadow Sums up to 255 for full shadow Stefan Brabec, MPI Informatik

  16. Hardware-based PCF • Larger filter sizes possible • Split up into parts of max. 4 components • Sum up shadow contributions using theaccumulation buffer • Problem: • Number of rendering passes (scene geometry)not really practical for dynamic scenes Stefan Brabec, MPI Informatik

  17. Fast PCF • Problem: • Previous algorithm needs four passesonly for shadow map generation • Unsuitable for very complex scenes • Fast PCF: • Use only one rendering pass and collectneighborhood pixels Stefan Brabec, MPI Informatik

  18. Fast PCF • Fast PCF filtering and pixel packing Stefan Brabec, MPI Informatik

  19. Fast PCF • Collect pixels using convolution • Currently the only hardware-acceleratedoperation to include information from adjacent pixels Stefan Brabec, MPI Informatik

  20. Fast PCF • Assemble pixels using neighborhood channels • Center pixel consists of RGBA values taken from lower-left 2x2 region • Use larger (3x3) filter for best hardwaresupport Stefan Brabec, MPI Informatik

  21. Fast PCF • Texture coordinate offset • Shift center pixel to be centered in 2x2 region Stefan Brabec, MPI Informatik

  22. Fast 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 Stefan Brabec, MPI Informatik

  23. Results without filtering Stefan Brabec, MPI Informatik

  24. Results normal PCF (filter size 2x2) Stefan Brabec, MPI Informatik

  25. Results fast PCF (filter size 2x2) Stefan Brabec, MPI Informatik

  26. Results real PCF vs. fast PCF Stefan Brabec, MPI Informatik

  27. Results fast,multipass PCF (filter size 4x4) Stefan Brabec, MPI Informatik

  28. Results • Timings & Overview Machine: SGI Octane VPro/8Image Resolution: 800x600Shadow Map: 512x512Polygons: 7000 Frame rate Generation Shadowing No filtering 30 fps 1 pass 2 levels PCF 2x2 10 fps 4 passes 5 levels Fast PCF 2x2 20 fps 1 pass 5 levels PCF 4x4 < 0.5 fps 16 passes 20 levels Fast PCF 4x4 5 fps 4 passes 20 levels Stefan Brabec, MPI Informatik

  29. no filtering Stefan Brabec, MPI Informatik

  30. fast PCF (filter size 2x2) Stefan Brabec, MPI Informatik

  31. Conclusions • 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 Stefan Brabec, MPI Informatik

  32. Conclusions • Future Work: • Now: only constant filter sizes • Better: mipmap-like method to compute filter sizeusing the projected area Stefan Brabec, MPI Informatik

  33. Thank You ! Visit us at http://www.mpi-sb.mpg.de Max-Planck-Institut für Informatik Computer Graphics Group Stefan Brabec, MPI Informatik

More Related