High Quality Adaptive Soft Shadow Mapping

Similar documents
Gaël Guennebaud Loïc Barthe, Mathias Paulin IRIT UPS CNRS TOULOUSE FRANCE Gaël Guennebaud Cyprus June 2006

Advanced Shading I: Shadow Rasterization Techniques

Soft shadows using hierarchical min-max shadow maps. Kirill Dmitriev Yury Uralsky NVIDIA

Vincent Forest, Loïc Barthe, Mathias Paulin. IRIT-UPS-CNRS University of Toulouse, France

Simpler Soft Shadow Mapping Lee Salzman September 20, 2007

Soft Shadows. Michael Schwarz

Chapter 10 Computation Culling with Explicit Early-Z and Dynamic Flow Control

Deferred Splatting. Gaël GUENNEBAUD Loïc BARTHE Mathias PAULIN IRIT UPS CNRS TOULOUSE FRANCE.

Applications of Explicit Early-Z Culling

Enhancing Traditional Rasterization Graphics with Ray Tracing. March 2015

Illumination and Geometry Techniques. Karljohan Lundin Palmerius

Real-Time Shadows. Last Time? Today. Why are Shadows Important? Shadows as a Depth Cue. For Intuition about Scene Lighting

Lecture 11: Ray tracing (cont.)

Shadows. COMP 575/770 Spring 2013

White Paper. Soft Shadows. February 2007 WP _v01

Last Time. Why are Shadows Important? Today. Graphics Pipeline. Clipping. Rasterization. Why are Shadows Important?

Soft Shadow Maps. Soft Shadow Maps for Linear Lights

Rendering Grass Terrains in Real-Time with Dynamic Lighting. Kévin Boulanger, Sumanta Pattanaik, Kadi Bouatouch August 1st 2006

Shadow Techniques. Sim Dietrich NVIDIA Corporation

For Intuition about Scene Lighting. Today. Limitations of Planar Shadows. Cast Shadows on Planar Surfaces. Shadow/View Duality.

GUERRILLA DEVELOP CONFERENCE JULY 07 BRIGHTON

Last Time. Reading for Today: Graphics Pipeline. Clipping. Rasterization

Real-Time Rendering (Echtzeitgraphik) Dr. Michael Wimmer

Real-Time Shadows. MIT EECS 6.837, Durand and Cutler

Applications of Explicit Early-Z Z Culling. Jason Mitchell ATI Research

Shadows. Real-Time Hard Shadows. Collected by Ronen Gvili. Most slides were taken from : Fredu Durand Stefan Brabec

Shadows in the graphics pipeline

HISTOGRAMS OF ORIENTATIO N GRADIENTS

Computer Graphics (CS 543) Lecture 10: Soft Shadows (Maps and Volumes), Normal and Bump Mapping

Interpolation using scanline algorithm

Real-Time Shadows. Last Time? Textures can Alias. Schedule. Questions? Quiz 1: Tuesday October 26 th, in class (1 week from today!

Real-Time Shadows. Last Time? Schedule. Questions? Today. Why are Shadows Important?

Rendering. Converting a 3D scene to a 2D image. Camera. Light. Rendering. View Plane

Point Sample Rendering

Practical Techniques for Ray Tracing in Games. Gareth Morgan (Imagination Technologies) Aras Pranckevičius (Unity Technologies) March, 2014

Soft Shadow Volumes for Ray Tracing Samuli Laine, Timo Aila, Ulf Assarsson, Jaakko Lethinen, Tomas Akenine-Möller presented by Manuel Lang

Today. Anti-aliasing Surface Parametrization Soft Shadows Global Illumination. Exercise 2. Path Tracing Radiosity

Multi-View Soft Shadows. Louis Bavoil

Multi-View Stereo for Static and Dynamic Scenes

Bitmask Soft Shadows

Projective Shadows. D. Sim Dietrich Jr.

Computer Graphics 10 - Shadows

Advanced Ray Tracing

Screen Space Ambient Occlusion TSBK03: Advanced Game Programming

Shadow Rendering EDA101 Advanced Shading and Rendering

Fast and robust techniques for 3D/2D registration and photo blending on massive point clouds

Last Time: Acceleration Data Structures for Ray Tracing. Schedule. Today. Shadows & Light Sources. Shadows

Visibility and Occlusion Culling

Creating soft shadows

Project Gotham Racing 2 (Xbox) Real-Time Rendering. Microsoft Flighsimulator. Halflife 2

Computer Graphics. Texture Filtering & Sampling Theory. Hendrik Lensch. Computer Graphics WS07/08 Texturing

Computer Graphics. Bing-Yu Chen National Taiwan University

Page 1. Area-Subdivision Algorithms z-buffer Algorithm List Priority Algorithms BSP (Binary Space Partitioning Tree) Scan-line Algorithms

Efficient Image-Based Methods for Rendering Soft Shadows. Hard vs. Soft Shadows. IBR good for soft shadows. Shadow maps

Many rendering scenarios, such as battle scenes or urban environments, require rendering of large numbers of autonomous characters.

Deus Ex is in the Details

Flowmap Generator Reference

Ray-tracing Acceleration. Acceleration Data Structures for Ray Tracing. Shadows. Shadows & Light Sources. Antialiasing Supersampling.

Real-Time Shadows. Computer Graphics. MIT EECS Durand 1

TSBK03 Screen-Space Ambient Occlusion

Volume Rendering. Lecture 21

Advanced Computer Graphics CS 563: Screen Space GI Techniques: Real Time

Motivation. Culling Don t draw what you can t see! What can t we see? Low-level Culling

Lecture 17: Shadows. Projects. Why Shadows? Shadows. Using the Shadow Map. Shadow Maps. Proposals due today. I will mail out comments

An Image-space Approach to Interactive Point Cloud Rendering Including Shadows and Transparency

Computer Graphics. Lecture 8 Antialiasing, Texture Mapping

TDA362/DIT223 Computer Graphics EXAM (Same exam for both CTH- and GU students)

Today. Acceleration Data Structures for Ray Tracing. Cool results from Assignment 2. Last Week: Questions? Schedule

Distributed Ray Tracing

Hello, Thanks for the introduction

CMSC427 Advanced shading getting global illumination by local methods. Credit: slides Prof. Zwicker

CS354R: Computer Game Technology

Mach band effect. The Mach band effect increases the visual unpleasant representation of curved surface using flat shading.

Visibility. Tom Funkhouser COS 526, Fall Slides mostly by Frédo Durand

Hardware-driven visibility culling

Universiteit Leiden Computer Science

Thesis Report. Thesis Title: Soft Shadow Rendering in Real Time. Shihab Rezwan Manzur ID: CSE Department BRAC University

Adaptive Point Cloud Rendering

VAO++: Practical Volumetric Ambient Occlusion for Games

Texture Mapping II. Light maps Environment Maps Projective Textures Bump Maps Displacement Maps Solid Textures Mipmaps Shadows 1. 7.

Fast Calculation of Soft Shadow Textures Using Convolution

Fast Accurate Soft Shadows with Adaptive Light Source Sampling

Soft Shadows by Ray Tracing Multilayer Transparent Shadow Maps

Accurate 3D Face and Body Modeling from a Single Fixed Kinect

Computer Graphics. Shadows

Computer Graphics. Bing-Yu Chen National Taiwan University The University of Tokyo

Ray Tracing. CS334 Fall Daniel G. Aliaga Department of Computer Science Purdue University

These are the annotated slides of the real time part of the Many Lights Rendering

Sung-Eui Yoon ( 윤성의 )

Announcements. Written Assignment 2 out (due March 8) Computer Graphics

Render-To-Texture Caching. D. Sim Dietrich Jr.

Real-Time Hair Simulation and Rendering on the GPU. Louis Bavoil

Soft Shadow Maps: Efficient Sampling of Light Source Visibility

Building a Fast Ray Tracer

Soft shadows. Steve Marschner Cornell University CS 569 Spring 2008, 21 February

Splat/Mesh Blending, Perspective Rasterization and Transparency for Point-Based Rendering

Computer Graphics Shadow Algorithms

Some Thoughts on Visibility

Enhancing Traditional Rasterization Graphics with Ray Tracing. October 2015

Real-Time High-Resolution Sparse Voxelization with. Application to Image-Based Modeling

Transcription:

High Quality Adaptive Soft Shadow Mapping A paper by Gaël Guennebaud, Loïc Barthe and Mathias Paulin Roy Triesscheijn

Overview - Algorithms from 2 papers, initial 2006 version and improved version from 2007 - Real-time soft shadow mapping by backprojection (2006) - High-Quality Adaptive Soft Shadow Mapping (2007) - Authors Gaël Guennebaud, Loïc Barthe and Mathias Paulin - Combination of shadow maps, back projecting and adaptive precision to create real time soft-shadow maps

Index 1. Visibility Computation 2. Performance & Adaptive Precision 3. Summary & Discussion

Visibility Computation (2006) Visibility Pass - First step is to compute a normal shadow map - The shadow map is back projected onto the light source to compute the percentage visibility for a point p that needs to be shaded - Computed by finding the occluded area of each point on the light by samples in the shadow map

Visibility Computation (2006) For point p in the scene - Project p onto light, light space coordinates (u,v) - Assume p is fully visible - Remove from p the area occluded by every sample stored in the shadow map (Search area is later optimized using Hierarchical Shadow Maps, HSM)

Visibility Computation (2006) Gap filling - Visibility is not correct due to gaps and overlaps when back projecting - Overlaps cause darker penumbrae, not fixed - Gaps fixed by extending occluders to neighbouring occluding samples in the shadow map

Visibility Computation (2006) Results - The 2006 algorithm already gives nice results, is geometry independent, works in real time Ground Truth (2500ms per frame, 0.4fps) 2006 algorithm (40ms per frame, 25fps)

Visibility Computation (2006) Results - But, gap filling and overlap cause shadow overestimation, there is the single light artifact, shadow contours can be rough Ground truth 2006 algorithm Top: ground truth Bottom: 2006 algorithm

Visibility Computation (2007) Goals for 2007 algorithm - Fix the gap and overlap problems - Do not overestimate shadows - Produce smoother shadow edges - Keep the performance equal - The 2007 algorithm will not solve the single light artifact

Visibility Computation (2007) Visibility Pass - Still compute a normal shadow map first - From this a Hierarchical Shadow Map is computed, which stores the lowest and highest depth values for each cell - From the HSM a kernel (Search Area in the 2006 paper) is computed in which we can find possible occluders when back projecting

Visibility Computation (2007) Kernel Computation - In the HSM find the pyramid defined by the light quadrilateral and the point p that needs to be shaded - Refine by projecting the intersection of the pyramid and the z min plane defined by the top level of the HSM - Iteratively refine by traversing the HSM

Visibility Computation (2007) Visibility Computation - Now we know where to search for occluders - Instead of back projecting all occluders onto the light to compute the visibility percentage we only send the contour edges of the occluders as seen from p - The contours are filled by radially integration, this solves both the gap and overlap problems

Visibility Computation (2007) Smooth Contour Detection - Contour detection algorithm based on 2x2 blocks of samples from the kernel - Contours are precomputed (left image) shader only needs look up in a table (right image) based on a mask calculated from the occluded pixels

Visibility Computation (2007) Radial Area Integration - Accumulate the signed area covered from each contour edge (a) - Similar to hard-shadow computations with normal shadow map, but we have to check the hard shadows are inside the contours (b) else we get an aliased result (c)

Visibility Computation (2007) Results No more shadow overestimation, smoother shadows, equal performance as 2006 algorithm Ground truth 2006 algorithm 2007 algorithm

Visibility Computation (2007) Results But, still discontinuities in difficult shadows Ground truth 2006 algorithm 2007 algorithm

Visibility Computation (2007) Results But, still discontinuities in difficult shadows (Exaggerated) Ground truth 2006 algorithm 2007 algorithm

Adaptive Precision (2006) Problem Description - Speed of the algorithm mainly depends on the size in pixels of the search areas - For very large penumbra this can cause performance problems - But very large penumbra require less detail than thinner ones (due to lower frequency)

Adaptive Precision (2006) Solution - Introduce a Hierarchical Shadow Map (HSM), similar to mip-maps or quadtrees - Sample very large penumbra on a less detailed level in the HSM defined by a maximum search area threshold, guarantees a level of performance - Leads to small visual quality degradations where levels change

Adaptive Precision (2006) Results Different settings for the threshold and shadow map resolution Degradation

Adaptive Precision (2007) Goals for 2007 algorithm - Fix the degradation where different levels of the HSM are sampled - Also provide a second optimization which works in screen space and reduces the output resolution, as opposed to the input resolution of the above light space solution

Adaptive Precision (2007) Light Space Optimizations - Degradation is caused because of sampling level differences in the HSM - The solution is to blend between different sampling levels using an algorithm akin to trilinear mip-map sampling - Blending is done between the two closest HSM levels so overlaps are always smooth

Adaptive Precision (2007) Light Space Optimizations Results

Adaptive Precision (2007) Screen Space Optimizations, idea - The idea is to adjust the screen resolution according to the screen space size of the penumbrae - This is done by cancelling the visibility computations of some screen pixels - The missing information is reconstructed using a pullpush algorithm

Adaptive Precision (2007) Screen Space Optimizations, skipping - To do this correctly the penumbrae size is conservatively estimated as the smallest diameter of a projection of a disk with the object space radius of the penumbrae onto screen space - The density of selected pixels is then adjusted for this screen space size of the penumbrae

Adaptive Precision (2007) Screen Space Optimizations, skipping

Adaptive Precision (2007) Screen Space Optimizations, Pull-Push - This leads to a sparse unstructured visibility buffer that contains gaps - A weight buffer is created with 1 s for the computed pixels and 0 s for the gaps - Pull: the weight and visibility buffers are reduced by accumulating and averaging - Push: the gaps are iteratively filled, from lowest to highest resolution by linear blending

Adaptive Precision (2007) Screen Space Optimizations, Pull-Push Before and after Pull-Push reconstruction, orange pixels are skipped pixels (gaps)

Adaptive Precision (2007) Screen Space Optimizations, Results a. Raw algorithm b. View dependent selection (from high to low quality) c. Light space adaptive precision (from hight to low quality d. View depedent selection (high quality) + light space adaptive precision (high quality) The numbers indicate the speed up of the algorithm, total performance went from a: 31fps to d: 71fps

Video

Summary & Discussion Pros - Geometry independent - Realtime, good performance - Nice results - Easy to bias towards performance or quality - Even wrong (higher performance) shadows look good - All pros of shadow maps

Summary & Discussion Cons - Discontinuities - Single light artifact - All cons of shadow maps - Aggressive reconstruction in light space can lead to blurring penumbrae - Aggressive reconstruction in screen space can lead to filling in lit areas with shadows

Questions?