Voxelized Shadow Volumes Chris Wyman Department of Computer Science University of Iowa High Performance Graphics 2011.

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

Exploration of advanced lighting and shading techniques
Ray Tracing Depth Maps Using Precomputed Edge Tables Kevin Egan Rhythm & Hues Studios.
An Optimized Soft Shadow Volume Algorithm with Real-Time Performance Ulf Assarsson 1, Michael Dougherty 2, Michael Mounier 2, and Tomas Akenine-Möller.
Optimized Stencil Shadow Volumes
Graphics Pipeline.
Direct Volume Rendering. What is volume rendering? Accumulate information along 1 dimension line through volume.
Interactive Rendering using the Render Cache Bruce Walter, George Drettakis iMAGIS*-GRAVIR/IMAG-INRIA Steven Parker University of Utah *iMAGIS is a joint.
Chunhui Yao 1 Bin Wang 1 Bin Chan 2 Junhai Yong 1 Jean-Claude Paul 3,1 1 Tsinghua University, China 2 The University of Hong Kong, China 3 INRIA, France.
N-Buffers for efficient depth map query Xavier Décoret Artis GRAVIR/IMAG INRIA.
Week 10 - Monday.  What did we talk about last time?  Global illumination  Shadows  Projection shadows  Soft shadows.
Real-Time Rendering TEXTURING Lecture 02 Marina Gavrilova.
Two Methods for Fast Ray-Cast Ambient Occlusion Samuli Laine and Tero Karras NVIDIA Research.
High-Quality Parallel Depth-of- Field Using Line Samples Stanley Tzeng, Anjul Patney, Andrew Davidson, Mohamed S. Ebeida, Scott A. Mitchell, John D. Owens.
Volume Rendering Volume Modeling Volume Rendering Volume Modeling Volume Rendering 20 Apr
A Hierarchical Volumetric Shadow Algorithm for Single Scattering Ilya Baran, Jiawen Chen, Jonathan Ragan-Kelley, Frédo Durand, Jaakko Lehtinen Computer.
Rasterization and Ray Tracing in Real-Time Applications (Games) Andrew Graff.
Adapted from: CULLIDE: Interactive Collision Detection Between Complex Models in Large Environments using Graphics Hardware Naga K. Govindaraju, Stephane.
Final Gathering on GPU Toshiya Hachisuka University of Tokyo Introduction Producing global illumination image without any noise.
1 CSCE 441: Computer Graphics Hidden Surface Removal (Cont.) Jinxiang Chai.
Image or Object? Michael F. Cohen Microsoft Research.
CSCE 641: Computer Graphics Image-based Rendering Jinxiang Chai.
Part I: Basics of Computer Graphics Rendering Polygonal Objects (Read Chapter 1 of Advanced Animation and Rendering Techniques) Chapter
Accurate, Dense and Robust Multi-View Stereopsis Yasutaka Furukawa and Jean Ponce Presented by Rahul Garg and Ryan Kaminsky.
The Story So Far The algorithms presented so far exploit: –Sparse sets of images (some data may not be available) –User help with correspondences (time.
1 A Hierarchical Shadow Volume Algorithm Timo Aila 1,2 Tomas Akenine-Möller 3 1 Helsinki University of Technology 2 Hybrid Graphics 3 Lund University.
Computer Graphics Mirror and Shadows
Ansh Bahri Sandeep Thippeswamy Sohil Himanish Anuja Chandorkar
Aaron Schultz. Idea: Objects close to a light shadow those far away. Anything we can see from the light’s POV is lit. Everything hidden is dark. Distance.
Ray Tracing and Photon Mapping on GPUs Tim PurcellStanford / NVIDIA.
Realtime Caustics using Distributed Photon Mapping Johannes Günther Ingo Wald * Philipp Slusallek Computer Graphics Group Saarland University ( * now at.
NVIDIA PROPRIETARY AND CONFIDENTIAL Occlusion (HP and NV Extensions) Ashu Rege.
Rendering Adaptive Resolution Data Models Daniel Bolan Abstract For the past several years, a model for large datasets has been developed and extended.
CSM Scrolling An acceleration technique for the rendering of cascaded shadow maps.
Lecture 3 : Direct Volume Rendering Bong-Soo Sohn School of Computer Science and Engineering Chung-Ang University Acknowledgement : Han-Wei Shen Lecture.
Graphics Graphics Korea University cgvr.korea.ac.kr Solid Modeling 고려대학교 컴퓨터 그래픽스 연구실.
1 Rendering Geometry with Relief Textures L.Baboud X.Décoret ARTIS-GRAVIR/IMAG-INRIA.
Efficient Rendering of Local Subsurface Scattering Tom Mertens 1, Jan Kautz 2, Philippe Bekaert 1, Frank Van Reeth 1, Hans-Peter Seidel
03/24/03© 2003 University of Wisconsin Last Time Image Based Rendering from Sparse Data.
Real-time Shading with Filtered Importance Sampling Jaroslav Křivánek Czech Technical University in Prague Mark Colbert University of Central Florida.
1 Real-time visualization of large detailed volumes on GPU Cyril Crassin, Fabrice Neyret, Sylvain Lefebvre INRIA Rhône-Alpes / Grenoble Universities Interactive.
SIGGRAPH 2011 ASIA Preview Seminar Rendering: Accuracy and Efficiency Shinichi Yamashita Triaxis Co.,Ltd.
Rendering Fake Soft Shadows with Smoothies Eric Chan Massachusetts Institute of Technology.
Hardware-accelerated Rendering of Antialiased Shadows With Shadow Maps Stefan Brabec and Hans-Peter Seidel Max-Planck-Institut für Informatik Saarbrücken,
Recursion and Data Structures in Computer Graphics Ray Tracing 1.
Binary Space Partitioning Trees Ray Casting Depth Buffering
Sample Based Visibility for Soft Shadows using Alias-free Shadow Maps Erik Sintorn – Ulf Assarsson – uffe.
View-dependent Adaptive Tessellation of Spline Surfaces
Duy & Piotr. How to reconstruct a high quality image with the least amount of samples per pixel the least amount of resources And preserving the image.
112/5/ :54 Graphics II Image Based Rendering Session 11.
Emerging Technologies for Games Deferred Rendering CO3303 Week 22.
Photo-realistic Rendering and Global Illumination in Computer Graphics Spring 2012 Hybrid Algorithms K. H. Ko School of Mechatronics Gwangju Institute.
Pure Path Tracing: the Good and the Bad Path tracing concentrates on important paths only –Those that hit the eye –Those from bright emitters/reflectors.
Graphics Interface 2009 The-Kiet Lu Kok-Lim Low Jianmin Zheng 1.
Real-Time Relief Mapping on Arbitrary Polygonal Surfaces Fabio Policarpo Manuel M. Oliveira Joao L. D. Comba.
Computer Graphics I, Fall 2010 Implementation II.
1 CSCE 441: Computer Graphics Hidden Surface Removal Jinxiang Chai.
Shadows David Luebke University of Virginia. Shadows An important visual cue, traditionally hard to do in real-time rendering Outline: –Notation –Planar.
Convolution Shadow Maps * MPI Informatik Germany † Hasselt University Belgium ‡ University College London UK T. Annen * T. Mertens † P. Bekaert † H.-P.
Image-Based Rendering Geometry and light interaction may be difficult and expensive to model –Think of how hard radiosity is –Imagine the complexity of.
09/23/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Reflections Shadows Part 1 Stage 1 is in.
Real-Time Relief Mapping on Arbitrary Polygonal Surfaces Fabio Policarpo Manuel M. Oliveira Joao L. D. Comba.
Presented by 翁丞世  View Interpolation  Layered Depth Images  Light Fields and Lumigraphs  Environment Mattes  Video-Based.
SHADOW CASTER CULLING FOR EFFICIENT SHADOW MAPPING JIŘÍ BITTNER 1 OLIVER MATTAUSCH 2 ARI SILVENNOINEN 3 MICHAEL WIMMER 2 1 CZECH TECHNICAL UNIVERSITY IN.
Real-Time Soft Shadows with Adaptive Light Source Sampling
Real-Time Ray Tracing Stefan Popov.
Jim X. Chen George Mason University
Real-time Rendering Shadow Maps
Sorting and Searching Tim Purcell NVIDIA.
Real-time Volumetric Lighting in Participating Media
Presentation transcript:

Voxelized Shadow Volumes Chris Wyman Department of Computer Science University of Iowa High Performance Graphics 2011

Problem: Visibility In Volumes Quickly solve the query: –Which points in volume see some point P? Example application: volumetric lighting –When integrating scattering with shadows Without loss of generality: –Use volume lighting for concrete examples –Our algorithm is not limited to this problem

Imagine: Want Volume Lighting Creative Commons Image: Mila Zinkova

Why Is This Hard? Alternatively: –Why not use shadow maps? –Why not use shadow volumes? After all, many propose just that: –Shadow volumes [Max86] [Biri06] –Shadow maps [Dobashi02] [Englehardt10] [Chen11] –Combine both [Wyman08] [Billeter10]

Why Is This Hard? Rendering without visibility: –[Sun et al. 05] takes << 1ms (~1000+ fps) –[Pegoraro et al. 09] takes < 3 ms (~300+ fps) Rendering with visibility: –[Chen et al. 11] takes 7-24 ms –[Billeter et al. 10] takes ms –Older techniques even slower –Most slow with increased geometric complexity Obviously, visibility is quite costly!

Why Is This Hard? Both SMs and SVs designed for surfaces –Shadow volumes scale more naturally As they bound regions Require significant fill rate Fill rate increases with higher frequency shadows –Shadow maps simply sample more Sample at points in volume, not just on surfaces Leads to incoherent memory access Leads to redundant memory access

Why Is This Hard? Object Shadow map samples likely have poor cache coherence. Light

Why Is This Hard? Object Independently computed samples along adjacent rays look into same set of shadow map texels. And there is no guarantee values are still in the texture cache. Light

Voxelized Shadow Volume Goals Develop a cache coherent visibility lookup –Eye ray lookups should be efficient –Lookups for nearby eye rays near in texture Eliminate redundancy between lookups –Less important –But falls out naturally

Imagine voxelizing –To 3D voxel grid Parallel scan –Along a grid axis –Use an bitwise OR Light direction What Are VSVs? (The Basics)

Each pixel corresponds to: –Set of binary voxels, where 1 → inside geometry 0 → outside geometry Each pixel corresponds to: –Set of binary voxels, where 1 → inside shadow volume 0 → outside shadow volume What Are VSVs? (The Basics) A voxelized shadow volume!

Seems Too Simple… Why has it never been done? –Need to scan along grid axis → very limiting But, if possible… What advantages? –Voxelization & render resolution independent –Voxelization occurs in different pass –Implies: Shadow volume fill rate decouples from geometric complexity & screen resolution

Seems Too Simple… Other advantages? –Lookup logistics: One “pixel” (at right) gives shadow visibility at many volume samples Store 128 binary visibility samples in a texel on GPU Significantly reduces lookups for ant dense visibility sampling Used anywhere visibility needed

How Do We Generalize? Need parallel scan to run along grid axis –I.e., light direction runs along axis –Similar idea from ray tracing literature [Hunt 08] Perspective-space accel structures Need per-pixel lookup along grid axis –To stash row of visibility samples in a texel –Done frequently in GPU computing [Eisemann 06] Screen-space voxel grid Novel: Need them simultaneously

Creating VSVs We propose epipolar space voxelization

Creating VSVs Straightforward parameterization: Satisfies our constraints: –One axis (constant α) parallel to view rays –One axis (constant Φ) parallel to light rays

Creating VSVs Consider an epipolar plane (i.e., plane of constant θ)

Creating VSVs Voxelizedobject Just like before: 1) Voxelize geometry

Create VSVs Voxelizedobject Just like before: 1)Voxelize geometry 2)Scan along light axis Voxelized shadow volume

Using Voxel Shadow Volumes Just like before: 1)Voxelize geometry 2)Scan along light axis 3)Look up visibility Each lookup returns a row of visibility values (red) Each bit returned in lookup corresponds to visibility at one sample (blue) along view ray.

VSV Implementation Map epipolar space into a 2D GPU texture θ α Each texel represents 128 samples in Φ stored in 32-bit uint RGBA texture Voxelize

VSV Implementation Perform a parallel scan (prefix sum) along the α axis using a bitwise OR, rather than a + operator, to create the VSV.

VSV Implementation Lookup visibility at every pixel and use in desired application (Note: We do not compute scattering in epipolar space. This computation is for clarity of explanation) Final Rendering Corresponding epipolar planes

Tricky Details How to voxelize into epipolar space? –Paper proposes 3 approaches: [Eisemann 06] screen space voxelization –Blazing fast, requires watertight models –Requires fixes to handle epipolar singularities [Schwarz 10] conservative voxelization –Significantly slower, better quality for thin geometry –Requires fixes to handle epipolar singularities Resampling shadow map to epipolar space –Similar to approach used by [Chan 11] –Blazing fast, naively handles all singularities.

Tricky Details See paper for details on first 2 methods Voxelization via resampling: –For each (θ i, Φ j ) in epipolar space Create the light ray in direction (θ i, Φ j ) Locate the corresponding shadow map texel Lookup nearest surface, compute its α ij value Set the bit at (θ i, Φ j, α ij )

Results Total frame cost: 10.1 ms (Reported on a GeForce 580 GTX, 512 x 2048 x 512 voxel volume) Total frame cost: 6.3 ms Shadow map: 0.8 ms Voxelization: 3.1 ms Other rendering: 3.5 ms Parallel scan: 2.7 ms Shadow map: 0.3 ms Voxelization: 1.4 ms Other rendering: 1.9 ms Parallel scan: 2.7 ms

Results Total frame cost: 9.8 ms (1.7 million polygons) Total frame cost: 7.9 ms Shadow map: 2.6 ms Voxelization: 1.9 ms Other rendering: 2.6 ms Parallel scan: 2.7 ms Shadow map: 1.1 ms Voxelization: 2.0 ms Other rendering: 2.1 ms Parallel scan: 2.7 ms (Reported on a GeForce 580 GTX, 512 x 2048 x 512 voxel volume)

Video / Demo

Aliasing Issues Aliasing occurs, as with all sampling –Can focus on important samples Paper talks about selecting good α, Φ, and θ ranges –Can do adaptive sampling Paper explores briefly, but more work needed –Can brute force by adding more samples Our performance → 512 x 2048 x 512 volumes Parallel scan decreases roughly linearly in size –Filtering in epipolar space Perhaps similar to PCF, needs more exploration.

Aliasing Issues Our worst aliasing singularity –Geometry seen occluding light –Geometry seen behind light (less problematic)

Summary Proposed voxelized shadow volumes for visibility queries –Voxelize using a new epipolar space parameterization –Prefix sum along light rays in epipolar space –Gives a discrete sampling of shadow volumes –Lookup 128 binary visibility samples with single texture lookup Advantages –Decouples geometric complexity & visibility cost –Cache coherent lookups –Drop into existing participating media techniques for visibility Disadvantages –Some aliasing near singularity –Some care in implementation details for robustness (see paper)

Acknowledgements People who have listened to this idea in progress –My students (Greg Nichols, Rajeev Penmatsa, and Thomas Hansen) and too many others to list… Funding sources: –DARPA: HR –ARO: W911NF Hardware donations: –NVIDIA Corporation Total frame cost: 13.2 ms

Comparison To Ground Truth VSV visibilityRay traced visibility