Adaptive Volumetric Shadow Maps Marco Salvi, Kiril Vidimce, Andrew Lauritzen, Aaron Lefohn Intel Corporation 7/28/20101 Advances in Real-Time Rendering.

Slides:



Advertisements
Similar presentations
Accelerating Real-Time Shading with Reverse Reprojection Caching Diego Nehab 1 Pedro V. Sander 2 Jason Lawrence 3 Natalya Tatarchuk 4 John R. Isidoro 4.
Advertisements

CS123 | INTRODUCTION TO COMPUTER GRAPHICS Andries van Dam © 1/16 Deferred Lighting Deferred Lighting – 11/18/2014.
Sven Woop Computer Graphics Lab Saarland University
Parallax-Interpolated Shadow Map Occlusion
RealityEngine Graphics Kurt Akeley Silicon Graphics Computer Systems.
Direct Volume Rendering. What is volume rendering? Accumulate information along 1 dimension line through volume.
High-Quality Parallel Depth-of- Field Using Line Samples Stanley Tzeng, Anjul Patney, Andrew Davidson, Mohamed S. Ebeida, Scott A. Mitchell, John D. Owens.
Tuesday February 19 th, 2002 Deep Shadow Maps Tom Lokovic & Eric Veach Pixar Animation Studios Presented by Tom Lechner.
1. SIGGRAPH 2010 Single Scattering in Heterogeneous Participating media Cyril Delalandre Pascal Gautron Jean-Eudes MarvieGuillaume François Technicolor.
SIGGRAPH ASIA 2011 Preview seminar Shading and Shadows.
Rendering Fake Soft Shadows with Smoothies Laboratory for Computer Science Massachusetts Institute of Technology Eric Chan Frédo Durand.
Real-Time Rendering Paper Presentation Logarithmic Perspective Shadow Maps Brandon Lloyd Naga Govindaraju Cory Quammen Steve Molnar Dinesh Manocha Slides.
Damon Rocco.  Tessellation: The filling of a plane with polygons such that there is no overlap or gap.  In computer graphics objects are rendered as.
Fragment-Parallel Composite and Filter Anjul Patney, Stanley Tzeng, and John D. Owens University of California, Davis.
Rasterization and Ray Tracing in Real-Time Applications (Games) Andrew Graff.
Advanced Computer Graphics (Spring 2005) COMS 4162, Lectures 18, 19: Monte Carlo Integration Ravi Ramamoorthi Acknowledgements.
Splatting Josh Anon Advanced Graphics 1/29/02. Types of Rendering Algorithms Backward mapping Image plane mapped into data Ray casting Forward mapping.
Computer Graphics Hardware Acceleration for Embedded Level Systems Brian Murray
Efficient Image-Based Methods for Rendering Soft Shadows
A Real-Time Soft Shadow Volume Algorithm DTU Vision days Tomas Akenine-Möller Department of Computer Engineering Chalmers University of Technology Sweden
3D Graphics Processor Architecture Victor Moya. PhD Project Research on architecture improvements for future Graphic Processor Units (GPUs). Research.
IN4151 Introduction 3D graphics 1 Introduction to 3D computer graphics part 2 Viewing pipeline Multi-processor implementation GPU architecture GPU algorithms.
Beyond Programmable Shading Course, ACM SIGGRAPH 20111/66.
Real-Time Ray Tracing 3D Modeling of the Future Marissa Hollingsworth Spring 2009.
Advances in Real-Time Rendering in 3D Graphics and Games course (I & II) Siggraph 2010 Los Angeles, CA.
Erdem Alpay Ala Nawaiseh. Why Shadows? Real world has shadows More control of the game’s feel  dramatic effects  spooky effects Without shadows the.
Ansh Bahri Sandeep Thippeswamy Sohil Himanish Anuja Chandorkar
Voxelized Shadow Volumes Chris Wyman Department of Computer Science University of Iowa High Performance Graphics 2011.
Beyond Programmable Shading Course, ACM SIGGRAPH 20111/43.
Computer graphics & visualization REYES Render Everything Your Eyes Ever Saw.
Interactive Hair Rendering Under Environment Lighting Valentin JANIAUT Zhong Ren, Kun Zhou, Tengfei Li, Wei Hua, Baining Guo.
Rendering hair with graphics hardware Tae-Yong Kim Rhythm & Hues Studios
Lecture 3 : Direct Volume Rendering Bong-Soo Sohn School of Computer Science and Engineering Chung-Ang University Acknowledgement : Han-Wei Shen Lecture.
Interactive Rendering of Meso-structure Surface Details using Semi-transparent 3D Textures Vision, Modeling, Visualization Erlangen, Germany November 16-18,
Interactive Time-Dependent Tone Mapping Using Programmable Graphics Hardware Nolan GoodnightGreg HumphreysCliff WoolleyRui Wang University of Virginia.
A Sorting Classification of Parallel Rendering Molnar et al., 1994.
Matrices from HELL Paul Taylor Basic Required Matrices PROJECTION WORLD VIEW.
Computer Graphics 2 Lecture 8: Visibility Benjamin Mora 1 University of Wales Swansea Pr. Min Chen Dr. Benjamin Mora.
1 Rendering Geometry with Relief Textures L.Baboud X.Décoret ARTIS-GRAVIR/IMAG-INRIA.
Penumbra Deep Shadow Maps Jean-Francois St-Amour, LIGUM – Université de Montreal Eric Paquette, LESIA - ETS Pierre Poulin, LIGUM – Université de Montreal.
Stream Processing Main References: “Comparing Reyes and OpenGL on a Stream Architecture”, 2002 “Polygon Rendering on a Stream Architecture”, 2000 Department.
A Reconfigurable Architecture for Load-Balanced Rendering Graphics Hardware July 31, 2005, Los Angeles, CA Jiawen Chen Michael I. Gordon William Thies.
Shadow Mapping Chun-Fa Chang National Taiwan Normal University.
1 Real-time visualization of large detailed volumes on GPU Cyril Crassin, Fabrice Neyret, Sylvain Lefebvre INRIA Rhône-Alpes / Grenoble Universities Interactive.
2 COEN Computer Graphics I Evening’s Goals n Discuss application bottleneck determination n Discuss various optimizations for making programs execute.
Improving k-buffer methods via Occupancy Maps Andreas A. Vasilakis and Georgios Papaioannou Dept. of Informatics, Athens University of Economics & Business,
Interactive Rendering With Coherent Ray Tracing Eurogaphics 2001 Wald, Slusallek, Benthin, Wagner Comp 238, UNC-CH, September 10, 2001 Joshua Stough.
Fast BVH Construction on GPUs (Eurographics 2009) Park, Soonchan KAIST (Korea Advanced Institute of Science and Technology)
Rendering Fake Soft Shadows with Smoothies Eric Chan Massachusetts Institute of Technology.
Real-Time High Quality Rendering CSE 291 [Winter 2015], Lecture 2 Graphics Hardware Pipeline, Reflection and Rendering Equations, Taxonomy of Methods
Volume Clipping via Per-Fragment Operations in Texture-Based Volume Visualization Visualization and Interactive Systems Group University of Stuttgart Germany.
- Laboratoire d'InfoRmatique en Image et Systèmes d'information
112/5/ :54 Graphics II Image Based Rendering Session 11.
Advanced Computer Graphics Spring 2014 K. H. Ko School of Mechatronics Gwangju Institute of Science and Technology.
Based on paper by: Rahul Khardekar, Sara McMains Mechanical Engineering University of California, Berkeley ASME 2006 International Design Engineering Technical.
Variance Shadow Maps Andrew Lauritzen, RapidMind.
Real-Time Relief Mapping on Arbitrary Polygonal Surfaces Fabio Policarpo Manuel M. Oliveira Joao L. D. Comba.
COMPUTER GRAPHICS CS 482 – FALL 2015 SEPTEMBER 29, 2015 RENDERING RASTERIZATION RAY CASTING PROGRAMMABLE SHADERS.
Hierarchical Occlusion Map Zhang et al SIGGRAPH 98.
SHADOW CASTER CULLING FOR EFFICIENT SHADOW MAPPING JIŘÍ BITTNER 1 OLIVER MATTAUSCH 2 ARI SILVENNOINEN 3 MICHAEL WIMMER 2 1 CZECH TECHNICAL UNIVERSITY IN.
Siggraph 2009 RenderAnts: Interactive REYES Rendering on GPUs Kun Zhou Qiming Hou Zhong Ren Minmin Gong Xin Sun Baining Guo JAEHYUN CHO.
Deep Partitioned Shadow Volumes Using Stackless and Hybrid Traversals
Deferred Lighting.
The Graphics Rendering Pipeline
Hybrid Ray Tracing of Massive Models
Accelerating k+-buffer using efficient fragment culling
Kenneth Moreland Edward Angel Sandia National Labs U. of New Mexico
RADEON™ 9700 Architecture and 3D Performance
University of Virginia
Sample Distribution Shadow Maps
Presentation transcript:

Adaptive Volumetric Shadow Maps Marco Salvi, Kiril Vidimce, Andrew Lauritzen, Aaron Lefohn Intel Corporation 7/28/20101 Advances in Real-Time Rendering Course Siggraph 2010, Los Angeles, CA

Problem Background Realistic lighting of volumetric media – Hair, smoke, fog, etc.. Compute visibility curve – Transmittance: Fraction of light that passes through a material 2 LOKOVIC T., VEACH E. “Deep shadow maps”, SIGGRAPH 2000 Transmittance Depth 1 0 7/28/2010 Advances in Real-Time Rendering Course Siggraph 2010, Los Angeles, CA 1 0

Previous Methods Deep Shadow Maps [Lokovic et al. 2000] – Capture visibility curve & compress – Used defined error threshold Variable number of nodes – Designed for off-line rendering, easy to implement on DX11 but slow Opacity shadow Maps [Kim et al. 2001] – Sample visibility at regular intervals – Numerous variants optimized to handle special case (i.e. hair) – Depth range dependent Fourier Opacity Mapping [Jansen et al. 2010] – Visibility function expansion via trigonometric series – Converge slowly, especially around sharp features – Ringing – Depth range dependent 3 LOKOVIC T., VEACH E. “Deep shadow maps”, SIGGRAPH 2000 JANSEN J., BAVOIL L. Fourier opacity mapping. I3D /28/2010 Advances in Real-Time Rendering Course Siggraph 2010, Los Angeles, CA

AVSM Streaming simplification algorithm Generates an adaptive volumetric light attenuation function using a small fixed memory footprint Fixed number of nodes. Variable and unbounded error Easy to use method that does not make any assumption about light blockers type and/or their spatial distribution 4 7/28/2010 Advances in Real-Time Rendering Course Siggraph 2010, Los Angeles, CA Scene courtesy of Valve Corporation

AVSM Insertion 5 Transmittance Depth0 1 depthtrans /28/2010 Advances in Real-Time Rendering Course Siggraph 2010, Los Angeles, CA

AVSM Streaming Compression 6 Depth Transmittance 1 0 ΔAΔA depthtrans ΔAΔA max nodes: 5 current nodes:65 7/28/2010 Advances in Real-Time Rendering Course Siggraph 2010, Los Angeles, CA

Implementation Details (DX11) Algorithm designed for streaming simplification but.. – In-flight fragments that map to the same pixel cause data races Atomic RMW operations on structures not currently available from pixel shaders A tale of two implementations: – Compute shader based, slower but fixed memory Software pipeline prototype for particles has received little optimization work ~2x slower than variable memory implementation – Pixel shader based, faster but variable memory 7 7/28/2010 Advances in Real-Time Rendering Course Siggraph 2010, Los Angeles, CA

Variable Memory Implementation Light blockers AVSM insertion in two steps 1.Render blockers in light space and capture them in a per pixel linked list [Yang et al. 2010] 2.Traverse per pixel lists and build AVSM entirely on-chip Optionally sort blockers to remove temporal artifacts due to out of order fragments shading AVSM sampling and filtering – Evaluate transmittance at receiver depth via linear (or exponential) interpolation – Filtering implemented in software (bi-linear, tri-linear, Gaussian, etc..) 8 7/28/2010 Advances in Real-Time Rendering Course Siggraph 2010, Los Angeles, CA

Results (1/3) 9 uncompressedavsm (new) - 8 nodes osm - 32 slicesfom - 16 terms 4x enhanced diff images 7/28/2010 Advances in Real-Time Rendering Course Siggraph 2010, Los Angeles, CA

Results (2/3) 10 osm -32 slices uncompressedavsm (new) – 8 nodes fom – 16 terms 7/28/2010 Advances in Real-Time Rendering Course Siggraph 2010, Los Angeles, CA

Results (3/3) 11 Depth Transmittance 1 0 7/28/2010 Advances in Real-Time Rendering Course Siggraph 2010, Los Angeles, CA

AVSM Performance Competitive performance Higher image quality Shadow look-up dominates – Often < 30% of AVSM related rendering time is spent in the insertion code DSM is 20x-40x slower than AVSM 12 7/28/2010 Advances in Real-Time Rendering Course Siggraph 2010, Los Angeles, CA

Conclusions The Good: – Higher image quality via adaptive sampling Avoid common pitfalls of methods based on regular sampling or series expansion of the visibility function – Robust and easy to use Doesn’t require any a priori knowledge of light blockers type and spatial distribution Easy to trade-off image quality for speed and storage The Bad: – A fast fixed-memory implementation requires graphics hardware to add support for read-modify-write operations on the frame-buffer 13 7/28/2010 Advances in Real-Time Rendering Course Siggraph 2010, Los Angeles, CA

What’s Next? Improve AVSM filtering performance – Find bottleneck(s) Not an external memory bandwidth issue – Re-encode AVSM data? Fixed memory implementation with pixel shaders – Avoid RMW hazards (per pixel mutex?) Lossy Order Independent Transparency via AVSM streaming compression 14 7/28/2010 Advances in Real-Time Rendering Course Siggraph 2010, Los Angeles, CA

Acknowledgements Jason Mitchell and Wade Schin (Valve) Natasha Tatarchuk and Hao Chen (Bungie) Johan Andersson (DICE) Matt Pharr, Craig Kolb and the rest of the Advanced Rendering Technology team at Intel Nico Galoppo, Greg Johnson, Doug McNabb, Jeffery Williams and Mike Burrows from Intel Hair model courtesy of Cem Yuksel 15 7/28/2010 Advances in Real-Time Rendering Course Siggraph 2010, Los Angeles, CA

Questions? Paper*: – Salvi M., Vidimce K., Lauritzen A., Lefohn A., Adaptive Volumetric Shadow Maps Computer Graphics Forum - Volume 29, Number 4, pp Source code and binaries: – To contact the authors: – 16 7/28/2010 Advances in Real-Time Rendering Course Siggraph 2010, Los Angeles, CA *contact us to get a copy of the paper

References AGARWAL P. K., VARADARAJAN K. R.: Efficient algorithms for approximating polygonal chains. Discrete and Computational Geometry 23, 2 (2000), 273–291 BOSEA P., CABELLOB S., CHEONGC O., GUDMUNDSSOND J., VAN KREVELDE M., SPECKMANN B.: Areapreserving approximations of polygonal paths. Journal of Discrete Algorithms 4, 4 (2006), 554–566. JANSEN J., BAVOIL L.: Fourier opacity mapping. In I3D ’10: Proceedings of the 2010 Symposium on Interactive 3D Graphics and Games (Feb. 2010), pp. 165–172. KIM T.-Y., NEUMANN U.: Opacity shadow maps. In Rendering Techniques 2001: 12th Eurographics Workshop on Rendering (June 2001), LOKOVIC T., VEACH E.: Deep shadow maps. In Proceedings of ACM SIGGRAPH 2000 (July 2000), Computer Graphics Proceedings, ACS, pp. 385–392. SINTORN E., ASSARSON U.: Hair self shadowing and transparency depth ordering using occupancy maps. In I3D ’09: Proceedings of the 2009 Symposium on Interactive 3D Graphics and Games (Feb./Mar. 2009), pp. 67–74 YANG J., HENSLEY J., GRÜN H., THIBIEROZ N.: Real-time concurrent linked list construction on the gpu. In Rendering Techniques 2010: Eurographics Symposium on Rendering (2010), vol. 29, Eurographics 17 7/28/2010 Advances in Real-Time Rendering Course Siggraph 2010, Los Angeles, CA

Backup 18 7/28/2010 Advances in Real-Time Rendering Course Siggraph 2010, Los Angeles, CA

Fixed Memory Implementation ComputeShader threadgroups mapped to screen tiles First step: parallelize over particles – Each threadgroup builds on chip a list of particles that overlap their tile ordered by primitive ID Second step: parallelize over pixels – Run AVSM insertion code for each pixel inside a particle – Enforce the correct frame buffer ordering update by mapping each pixel to a single ComputeShader thread (i.e., SIMD lane) Loop until all particles have been processed 19 7/28/2010 Advances in Real-Time Rendering Course Siggraph 2010, Los Angeles, CA